Docker搭建Wordpress博客

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: Docker搭建Wordpress博客

WordPress

WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把
WordPress当作一个内容管理系统(CMS)来使用。
WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的,用户可以在支持 PHP
和 MySQL数据库的服务器上使用自己的博客。
WordPress有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用HTML代码、CSS、PHP等相关知识。
WordPress官方支持中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。WordPress拥有成千上万个各式插件和不计其数的主题模板样式。

软件介绍

WordPress是一个免费的开源项目,在GNU通用公共许可证下授权发布。 2014年12月23日发布WordPress
4.1,发行代号“Dinah”。 WordPress被认为是Michel Valdrighi所开发的网志平台b2/cafelog的正式继承者。“WordPress”这个名字出自Christine
Selleck的主意,他是主要开发者Matt Mullenweg的朋友。 WordPress
功能强大,插件众多,易于扩充功能。安装使用都非常方便。 WordPress
的原版是英文版的,UTF-8编码,2014年12月23日发布4.1版。 2013 年 06月
22日的3.5.2版,其版本的别称是“Elvin”,献给鼓手 Elvin Jones 等。WordPress 3.5要求 PHP 版本至少为
5.2.4(不支持第三方推出的“PHP6.0”),mysql版本至少为5.0。为满足日益庞大的中文用户需求开辟了中文官方站点且提供中文版程序下载。还有爱好者开发了中文语言包,使其可以支持中文。
使用WordPress平台的发行商约占全球网站的10%。而WordPress官方网站的每月独立访问用户数则达到3亿。
从3.0开始,WordPress已经内置多用户博客的功能,可以通过简单的设置就开设一个支持多域名的博客平台。 WordPress
是世界上使用最广泛的博客系统之一,是一款开源的PHP软件。因为使用者众多,所以WordPress社区非常活跃,有丰富的插件模板资源。使用WordPress可以快速搭建独立的博客网站。
WordPress 不仅仅是一个博客程序,也是一款CMS,很多非博客网站也是用WordPress搭建的。

插件模板

丰富的插件和模板是WordPress非常流行的一个特性。WordPress插件数据库中有超过18000个插件,包括SEO、控件等等。个人可以根据它的核心程序提供的规则自己开发模板和插件。这些插件可以快速地把你的博客改变成cms、forums、门户等各种类型的站点。WordPress Theme 风格模板是世界上的程序里最多的,类型复杂,品质可嘉,样式繁多,只需要把不同的模板文件放到空间的 Theme目录下就可以自由的在后台变幻,方便使用,而且不管你安装的的什么语言包,都可以自由的使用这些风格。只需要把插件文件上传到你 FTP 的 plugin 目录下,就可以直接在后台启用管理,甚至功能强大点的插件会有一个自己的管理目录在后台出现,就像程序自带似的方便,这些插件囊括了几乎所有互联网上可以实现的功能,比较著名的插件有:
你好多莉——好玩~--这不是普通的插件,它象征着一代人希望和热情,浓缩成 Louis Armstrong 的四个字:你好,多莉。在启用后,在您站点后台每个页面的右上角都可以看到一句来自《俏红娘》音乐剧的英文原版台词。
wp slug translate——很实用的一个插件,当你设置了按文章名字来自动填写固定链接的时候,它可以自动帮你翻译成英文,实在不能翻译也能自动转化成拼音。如果你写中文博客,这真的很有用,避免了乱码的出现!--set slug by translate title or slug from chinese to english with google translate or pinyin. 通过将title用google translate 翻译成英语或者拼音.
Link Manager——wordpress 3.5.1的链接呢?没事,装了这个插件,立马就回来了!--Enables the Link Manager that existed in WordPress until version 3.5.
Most Popular Posts——按照评论的多少排列,显示热门文章!--Display a link to the most popular posts on your blog according to the number of comments.
MO Widgets——可以设置侧边栏在不同的页面显示不同的内容!--Useing it can easier to control your Widgets.Adds checkboxes to choose your Widget to show or hide on different pages;and add a Widget with support for including PHP.Thanks for Display widgets and Samsarin PHP Widget.|灵动边栏插件,使用它将使你更容易的控制你的边栏显示,安装激活以后会在小工具页面显示控制各个小工具在博客中任何页面是否显示,以实现不同页面不同侧边栏的效果;同时在小工具页面产生一个支持php语言的文本小工具,让你更容易的添加属于自己的边栏小工具.此插件在Display widgets和Samsarin PHP Widget基础上修改,在此感谢原作者.
WP No Category Base - WPML compatible——把文章分类的URL中的“category”去掉
GoogleXMLSitemaps——帮助你的网站更容易被google等搜索引擎收录!--This plugin will generate a special XML sitemap which will help search engines like baidu
值得注意的是,由于有些网站被qiang了,所以导致个别插件没法使用,因此就不再在这里一一列举了!

优缺点

优点:
WordPress 功能强大、扩展性强,这主要得益于其插件众多,易于扩充功能,基本上一个完整网站该有的功能,通过其第三方插件都能实现所有功能;
wordpress搭建的博客对seo搜索引擎友好,收录也快,排名靠前;
适合DIY,如果你是喜欢丰富内容的网站,那么wordpress可以很好地符合你的胃口。
主题很多,网站上一大片都是wordpress的主题,各色各样,应有尽有!
wordpress备份和网站转移比较方便,原站点使用站内工具导出后,使用WordPress Importer插件就能方便地将内容导入新网站。
wordpress有强大的社区支持,有上千万的开发者贡献和审查wordpress,所以wordpress是安全并且活跃的。
缺点:
wordpress源码系统初始内容基本只是一个框架,需要时间自己搭建;
插件虽多,但是不能安装太多插件,否则会拖累网站速度和降低用户体验;
服务器空间选择自由较小!
静态化较差,确切地说是真正静态化做得不好,如果要想对整个网站生成真正静态化页面,还做不好,最多只能生成首页和文章页静态页面,所以只能对整站实现伪静态化!
wordpress的博客程序定位,简单的数据库层等都注定了他不能适应大数据。

软件功能

介绍
因为Wordpress强大的扩展性,很多网站已经开始使用Wordpress作为内容管理系统来架设商业网站。WordPress提供的功能包括:
1.文章发布、分类、归档、收藏,统计阅读次数。
2.提供文章、评论、分类等多种形式的RSS聚合。
3.提供链接的添加、归类功能。
4.支持评论的管理,垃圾信息过滤功能。
5.支持多样式CSS和PHP程序的直接编辑、修改。
6.在Blog系统外,方便的添加所需页面。
7.通过对各种参数进行设置,使Blog更具个性化。
8.在某些插件的支持下实现静态html页面生成(如WP-SUPER-CACHE)。
9.通过选择不同主题,方便地改变页面的显示效果。
10.通过添加插件,可提供多种特殊的功能。
11.支持Trackback和pingback。
12.支持针对某些其它blog软件、平台的导入功能。
13.支持会员注册登录,后台管理功能。
特色
所见即所得的文章编辑器
模板系统,也成为主题系统
统一的链接管理功能
为搜索引擎而优化的永久链接(PermaLink)系统
支持使用扩充其功能的插件
对于文章可以进行嵌套的分类,同一文章也可属于多个分类
TrackBack和Pingback的功能
能产生适当的文字的格式和式样的排版滤镜
生成和使用静态页面的功能
多作者共同写作的功能
可以保存访问过网站的用户列表
可以禁止来自一定IP段的用户的访问
支持使用标签(Tags)

建站流程

  1. 注册域名

一般注册.com域名就可以了,而且价格也不贵,基本上是70元一年。

  1. 申请虚拟主机

虚拟主机运营商很多。国内主机速度快,但比较贵,而且空间一般比较小;国外主机便宜,且空间大多没有限制,但速度比国内主机慢。如何取舍就 看大家对于自己博客的定位了。如果只是用博客写写文章的话,推荐还是用国内的主机,如果是建论坛或者资源站点,经常需要上传附件的话,最好选用国外的不限空间的主机。

  1. 在虚拟主机上绑定自己的域名

使用虚拟主机控制面板绑定申请的域名。
大多数虚拟主机绑定域名都很简单,实在不会的话,可以找虚拟主机的客服。

  1. 下载WordPress程序

在WordPress中文官网上下载最新的WordPress程序。

  1. 修改域名的DNS解析

为什么在浏览器上输入你的域名,就会显示你的主页呢。这就要靠DNS解析了。域名注册商都会提供一个域名管理系统,在里面可以修改自己域名的DNS 解析。将DNS解析到自己购买的虚拟主机上就可以了。虚拟主机的地址在虚拟主机提供商的控制面板上可以查看到,一般在绑定域名的页面会显示。

  1. 创建WordPress数据库

国外的主机的有一好处是可以创建数据库。而国内主机一般要另行购买。
在控制面板中创建数据库,记下数据库的主机地址、数据库名称、用户名、密码,这四个要素。

  1. 修改WordPress的安装配置文件。

就是修改wordpress程序包中的wp-config-sample.php文件,将第6步中记下的主机地址、数据库名称、用户名、密码填入相应的位置就可以了,并重命名为wp-config.php。

  1. 上传WordPress程序至ixwebhosting主机域名空间

这步使用ftp上传就可以了。很简单。

  1. 访问 域名/wp-admin/install.php进行wordpress安装。填写博客信息及邮箱。

这一步最轻松,完全傻瓜化,自动化。填邮箱的时候填第4步的域名邮箱比较好。当然也可以填自己的常用邮箱。
另,随着BAT云平台的推出,建站变得更加方便。比如,百度云平台已有相关教程。

安全设置

1.升级WordPress程序版本
2.隐藏WordPress程序版本
3.更改WordPress用户名
4.更改WordPress用户密码
5.防止WordPress目录显示
6.保护wp-admin文件夹
7.针对搜索引擎进行屏蔽保护
8.安装Login Lockdown插件
9.WordPress数据库安全
10.WordPress安全扫描
11.对wordpress所有空间进行安全漏洞检查
WordPress 3.6 Beta1
WordPress发布了3.6的首个Beta测试版本,3.6将包含如下几个方面的改进:
Post Formats: 可以单独给每篇文章设置不同主题,主题作者可访问模板函数和结构化数据
Twenty Thirteen: 全新主题,色彩丰富,侧重博客
Audio/Video: 你可嵌入音频和视频到文章,无需通过插件或者第三方媒体托管服务
Autosave: 文章可自动在本地保存,如果你的浏览器崩溃或者计算机宕机或者服务器掉线都不会丢失数据
Post Locking: 当某人正在编辑文章时,锁定文章不让看
Nav Menus: 导航菜单进行简化,使用卷帘式UI和独立的Tab
Revisions: 全新的界面功能的修改头像,通过滑块从历史记录中选择并提供两栏的范围比较
主要功能包括:
文章格式:
主题搜索:
内部链接:
管理工具拦:
交互式管理;
更新内置编辑器;
多分类查询;
自定义文章类型索引页;
清理后台CSS;
用户管理;
网络管理;
密码重置归来。

环境准备

IP 版本 运行内存 CPU
192.168.1.10 CentOS Linux release 7.6.1810 (Core) 4G 2

安装docker(这里我直接执行脚本)

docker安装脚本链接: https://pan.baidu.com/s/1krVNEHjwO7Q5OCKL4_5Vfw
提取码:r6kl
复制这段内容后打开百度网盘手机App,操作更方便哦
chmod +x docker安装《韩》.sh
./docker安装《韩》.sh
#########输出如下信息,安装完毕#############
查看docker版本
Docker version 19.03.13, build 4484c46d9d
请问是否启动dokcer(请输入Y/N):Y
准备启动docker
启动成功
请问您需要阿里云加速吗(Y/N):Y
进行配置阿里云加速
-------------------
配置完毕---进行重启docker
重启完毕
###########查看docker状态##################
[root@wordpress ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since 二 2020-12-01 15:29:25 CST; 2min 12s ago
     Docs: https://docs.docker.com
 Main PID: 10177 (dockerd)
    Tasks: 10
   Memory: 39.8M
   CGroup: /system.slice/docker.service
           └─10177 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

设置开机启动

chkconfig docker on

下载镜像

# docker pull wordpress:latest        下载wrodpress
# docker pull mysql:5.6                下载mysql

运行服务

docker run --name wodpress1 -e WORDPRESS_DB_HOST=192.168.1.10:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=123456 -e WORDPRESS_DB_NAME=wp1 -p 8086:80 -d wordpress
WORDPRESS_DB_HOST 数据库主机地址(默认为与其 link 的 mysql 容器的 IP 和 3306 端口:)
WORDPRESS_DB_USER 数据库用户名(默认为 root)
WORDPRESS_DB_PASSWORD 数据库密码(默认为与其 link 的 mysql 容器提供的 MYSQL_ROOT_PASSWORD 变量的值)
WORDPRESS_DB_NAME 数据库名(默认为 wordpress)
WORDPRESS_TABLE_PREFIX 数据库表名前缀(默认为空,您可以从该变量覆盖 wp-config.php 中的配置)

连接docker mysql启动

 docker run --name wp_mysql56 \
-p 3307:3306 \
-v /data/docker/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD='123456' \
-d mysql:5.6 
–-name wp_mysql56:指定容器的名字,不能重复,不指定随机生成
-v /data/docker/mysql:/var/lib/mysql: 添加目录映射, 容器中的/var/lib/mysql映射到主机的/data/docker/mysql
-e MYSQL_ROOT_PASSWORD=123456:指定容器的环境参数,此处初始化MySQL的root密码
-p 3307:3306:端口映射,这里将容器内的3306端口映射到宿主机的3307端口
mysql:镜像的名字,首先从本地加载,没有则从镜像仓库下载

启动wordpress容器

docker run --name wordpress2 \
--link wp_mysql56:mysql \
-v /data/docker/html:/var/www/html \
-p 888:80 \
-d wordpress
docker run :启动容器
-d:后台运行容器
–name wordpress2:指定容器的名字
–link wp_mysql56:mysql:容器关联,现在启动的容器内部可以通过mysql来访问wp_mysql56数据库的功能
-p 888:80:端口映射
wordpress:镜像的名字

访问

关闭防火墙、沙盒

systemctl stop firewalld && setenforce 0 && systemctl disable firewalld

http://192.168.1.10:888
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

相关文章
|
6月前
|
关系型数据库 MySQL Apache
怎么在树莓派上搭建WordPress博客网站,并发布到外网可访问?
怎么在树莓派上搭建WordPress博客网站,并发布到外网可访问?
595 1
|
7天前
|
应用服务中间件 PHP nginx
Docker-compose 编排lnmp(dockerfile) 完成Wordpress
通过使用Docker Compose,我们可以轻松编排LNMP环境并部署WordPress。本文详细介绍了各组件的Dockerfile和配置文件编写,并通过docker-compose.yml文件实现了整个环境的自动化部署。这种方法不仅简化了部署过程,还提高了环境的可移植性和一致性。希望本文能帮助你更好地理解和使用Docker Compose来管理和部署复杂的应用程序。
32 3
|
4月前
【wordpress教程】wordpress博客网站添加非法关键词拦截
有的网站经常被恶意搜索,站长们不胜其烦。那我们如何屏蔽恶意搜索关键词呢?下面就随小编一起来解决这个问题吧。
76 1
|
5月前
|
移动开发 前端开发 语音技术
WordPress轻拟物博客主题niRvana 4.5.3(自适应手机端)
WordPress轻拟物主题niRvana,设计上不再趋从于现有的扁平风,我认为是时候从极致的扁平稍微向拟物致敬了,因此采用了轻拟物的风格。niRvana 设计和样式更加新颖,一眼看上去就会被他吸引住,主题配色也非常舒服。而且它有两个功能特别有意思,一个是自动根据文章特色图片识别出图片的主色调,在首页、文章分类页用最美的方式显示滚动图片,另一个则是文章支持语音朗读。主题细腻有质感,手机端体验非常好。
87 2
|
1月前
|
域名解析 弹性计算 程序员
想要轻松地搭建一个即开即用的WordPress博客吗?借助宝塔面板镜像+阿里云ECS,迅速拥有自己的个人博客
拥有个人博客是每位程序员的梦想,但对服务器不熟悉的初学者而言,搭建博客颇具挑战。本文介绍利用阿里云市场的宝塔面板镜像与ECS云服务器,轻松搭建WordPress博客的方法,让您快速拥有专属博客空间。通过简单的操作步骤,即使是新手也能轻松上手,实现从零到有的博客搭建过程。
138 3
|
6月前
|
PHP
菊子曰备份Wordpress网站的博客内容出错的解决办法(原创)
菊子曰备份Wordpress网站的博客内容出错的解决办法(原创)
525 2
|
6月前
|
Java Android开发
java利用xml-rpc协议操作wordpress博客
java利用xml-rpc协议操作wordpress博客
83 1
|
2月前
|
PHP SEO
WordPress博客每日定时发布 每天60秒读懂世界源码
WordPress博客每日定时发布 每天60秒读懂世界源码
53 0
WordPress博客每日定时发布 每天60秒读懂世界源码
|
3月前
|
存储 Ubuntu Linux
如何在 Ubuntu 上使用 Docker 容器化和部署多个 WordPress 应用程序
如何在 Ubuntu 上使用 Docker 容器化和部署多个 WordPress 应用程序
64 0
|
6月前
|
关系型数据库 MySQL 数据安全/隐私保护
使用docker快速搭建wordpress服务,并指定域名访问
通过以上步骤,你可以使用Docker快速搭建WordPress服务,并通过指定的域名进行访问。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
191 1