使用docker-compose &WordPress建站,并启用https访问
Ubuntu Docker安装
使用官方安装脚本自动安装
安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
Docker Compose安装
Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。
运行以下命令以下载 Docker Compose 的当前稳定版本:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
要安装其他版本的 Compose,请替换 v2.2.2。
将可执行权限应用于二进制文件:
sudo chmod +x /usr/local/bin/docker-compose
创建软链:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
测试是否安装成功:
docker-compose --version
cker-compose version 1.24.1, build 4667896b
如果出现网络问题,直接用浏览器下载可执行文件放到/usr/local/bin
目录下即可
使用docker-compose &WordPress建站
准备配置文件
为WordPress提供HTTPS支持的Nginx配置文件
mkdir -p /root/wordpress/nginx/conf && mkdir -p /root/wordpress/nginx/ssl
echo 'server {
listen 80;
server_name ${host_name};
rewrite ^(.*)$ https://${host_name}$1 permanent;
}
server {
listen 443 ssl;
server_name ${host_name};
#ssl证书文件位置(常见证书文件格式为:crt/pem)
ssl_certificate /etc/nginx/ssl/cert.pem;
#ssl证书key位置
ssl_certificate_key /etc/nginx/ssl/cert.key;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://wordpress;
proxy_cache_bypass $http_upgrade;
# Proxy headers
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
# Proxy timeouts
proxy_connect_timeout 600s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
}
}' >> /root/wordpress/nginx/conf/route.conf
证书可以从阿里云免费申请,绑定到对应的**${host_name}**域名即可,并放置到/root/wordpress/nginx/ssl/
目录下(可以自由修改,注意与下边的yaml文件保持一致即可)
docker-compose.yml配置文件
cd wordpress
mkdir wp db
vim docker-compose.yml # 粘贴下面配置文件
version: '3.1'
services:
nginx:
image: nginx
container_name: nginx
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- /root/wordpress/nginx/conf/conf.d:/etc/nginx/conf.d
- /root/wordpress/nginx/ssl:/etc/nginx/ssl
networks:
- default
wp:
image: wordpress
container_name: wordpress
restart: always
# ports:
# - 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: ferrisyu
WORDPRESS_DB_PASSWORD: 123456
WORDPRESS_DB_NAME: codingxx
volumes:
- /root/wordpress/wp:/var/www/html
networks:
- default
db:
image: mysql:5.7
container_name: mysql
restart: always
environment:
MYSQL_DATABASE: codingxx
MYSQL_USER: ferrisyu
MYSQL_PASSWORD: 123456
MYSQL_ROOT_PASSWORD: 123456
volumes:
- /root/wordpress/db:/var/lib/mysql
networks:
- default
networks:
default:
docker-compose up -d # 运行
配置网络与域名
只需要在域名提供商,为自己购买的域名,添加A类型的子域名记录比如wp.specialstone.top
,然后将解析值设置为自己服务器的公网IP即可
推荐安装插件
- All-in-One WP Migration 迁移站点
- Post Views Counter 查看阅读数
- UpdraftPlus-备份/恢复 备份站点
- WP Githuber MD Markdown在线编辑
- Yoast SEO SEO设置
插件安装的问题
- 插件安装出现网络错误时,可以进入插件官网,手动下载文件上传到指定文件夹安装,使用docker cp命令导入到容器即可。
- 注意导入后,进入容器将导入的文件或文件夹的owner 与 group与其他WordPress文件一致
评论区