1. 概述
WordPress是一个开源博客框架,配合不同主题,可以有多种展现方式,博客、企业官网、CMS系统等,都可以很好的实现。
官网 :博客工具、发布平台和内容管理系统 -- WordPress.org China 简体中文,这里可以找到最新版本,入门方式,二次开发等详细的介绍。
Learn WordPress - There's always more to learn | Learn WordPress
主题:
- 官网主题页面:WordPress 主题目录 | WordPress.org China 简体中文 ,里面包含了很多主题。
- solstice23/argon-theme: 📖 Argon - 一个轻盈、简洁的 WordPress 主题
- Puock - 开源的高颜值WordPress主题 | Puock主题,一个很不错的中文开源主题。
2. 安装部署
2.1 源码安装
访问官网,下载最新源码,参考:How to install WordPress -- Advanced Administration Handbook | Developer.WordPress.org 进行安装。
2.2 Docker安装
1)安装docker
参考《Docker的安装及使用摘要-CSDN博客》进行处理。
2)目录规划
考虑镜像挂载,数据持久存储及备份,新建目录如下:
/home/xxxxx/xxxx # 主目录
-- backup # 备份目录
-- wordpress # 站点目录挂载
-- mysql # 数据库目录挂载
3)安装wordpress镜像
# 默认拉取最新
docker pull wordpress
# 部署运行
docker run -it --name xxxx-wordpress -p 8100:80 -v /home/xxxxx/xxxxx/wordpress:/var/www/html -d --restart unless-stopped wordpress
# -itd:以交互模式和伪终端的方式在后台运行容器
# --name:重新命名
# -p:端口
# --restart:重启策略
# -v:将wordpress的页面数据目录挂载出来,数据卷持久化存储,即使容器被删除或者重新创建,数据也不会丢失,仍然存在于宿主机的目录下。
docker ps # 可以查看容器状态
因为wordpress安装在阿里云ECS服务器上,考虑通过 xxxx.xxx 域名访问,这样宿主机的 8100 端口不用在外网暴露,直接利用 apache进行代理即可。
<VirtualHost *:80>
ProxyRequests On
ProxyPreserveHost On
ServerName www.xxxxxx.xxx
ProxyPass / http://127.0.0.1:8100/
ProxyPassReverse / http://127.0.0.1:8100/
</VirtualHost>
这样直接访问,可以看到页面已经出来,说明映射OK,但目前还没有数据库,所以可以暂缓处理:
http://xxxx.xxx/wp-admin/setup-config.php
4)安装配置mysql
设定为wordpress专用,数据挂载在 xxxx 的目录下
# 注意挂载目录的设定
docker run -d --name xxxx-mysql --restart unless-stopped -v /home/xx/xxxx/mysql/data:/var/lib/mysql -v /home/xx/xxxx/mysql/conf:/etc/mysql/conf.d -v /home/xx/xxxx/mysql/logs:/var/log/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=xxxx mysql:8
# 将mysql data、conf、log均进行挂载
# 设置 root账户的密码
# 端口 3306,主要在本地访问,因此不做改变
# mysql:8 版本
docker ps # 可以查看容器状态
5)对mysql进行设置
进入容器内部:
docker exec -it xxx-mysql /bin/bash
进入mysql,设置允许外部访问:
mysql -u root -p
# 接着会让你输密码,这里输入密码时是没有字符提示的,输完直接回车即可;
# 设置 mysql 允许外部访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
创建数据库:
create database wordpress;
查找mysql容器的IP地址:
# exit 退出 mysql 容器,使用以下命令获取 mysql 容器的 ip 地址
docker inspect ilive365-mysql | grep IPAddress
# 返回:
"SecondaryIPAddresses": null,-
"IPAddress": "172.17.0.6",
"IPAddress": "172.17.0.6",
# 显示的 172.17.0.6 就是 mysql 容器的 ip 地址
注意:这个IP地址,可能随着容器的重启会变化,如果要设置固定,可以参考上面docker文章。
6)wordpress与mysql的对接
在本地挂载目录 wordpress中,找到 wp-config-sample.php,打开修改:
// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );
/** Database username */
define( 'DB_USER', 'root' );
/** Database password */
define( 'DB_PASSWORD', 'xxxx' );
/** Database hostname */
define( 'DB_HOST', '172.17.0.6' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8mb4' );
/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
保存后。通过浏览器打开前面的地址:
http://xxxxx.xxxx/wp-admin/setup-config.php
针对页面提示信息进行填写,相关数据库信息前面已经留存。
创建用户,登录进入后,进入仪表盘页面:
至此,安装OK。
后面会针对 wordpress的相关配置及主题进行文章说明。
(end)