type
Post
status
Published
date
Nov 2, 2022
slug
wordpress
summary
使用docker-compose安装wordpress网页
tags
建站
Wordpress
Docker
Docker-Compose
category
技术分享
icon
password
Property
Nov 2, 2022 11:01 AM

一、创建wordpress文件夹

在Docker文件夹下面创建wordpress子文件夹
mkdir -p /docker/wordpress
进入wordpress文件夹
cd /docker/wordpress
notion image

二、在文件夹下面创建docker-compose文件并运行

本次安装需要使用到服务器的8080端口,查询端口端口是否被占用
lsof -i:8080
notion image
创建docker-compose文件
nano docker-compose.yaml
文件如下:
version: '3.1' services: wordpress: image: wordpress restart: always ports: - 8080:80 environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: exampleuser WORDPRESS_DB_PASSWORD: examplepass WORDPRESS_DB_NAME: exampledb volumes: - /docker/wordpress/data:/var/www/html db: image: mysql:5.7 restart: always environment: MYSQL_DATABASE: exampledb MYSQL_USER: exampleuser MYSQL_PASSWORD: examplepass MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: - /docker/wordpress/db:/var/lib/mysql #volumes: # wordpress: # db:
notion image
按提示输入control键和X键退出,并输入Y保存
notion image
使用命令启动wordpres
docker-compose up -d
出现报错
notion image
重启docker
systemctl restart docker
notion image
再次启动wordpress
docker-compose up -d
notion image
查看程序是否运行
docker ps
notion image

三、反向代理设置

1、域名解析

在你的域名下面添加一个a记录,我这里以cloudflare为例进行演示
类型选A记录,名称看你自己随便填或者也可以填www,ipv4地址填你的服务器ip,然后点保存就可以了
notion image

2、在nginx proxy manager中设置反向代理

nginx proxy manager的安装请查看下面这篇文章
添加一个Proxy Hosts
notion image
notion image
Domain Names里面填你刚刚添加的A记录域名,IP那里填你的服务器IP,端口那里填部署wordpress设置的端口8080。按我的操作进行下面的勾选进行保存。
如果你的wordpress和nginx proxy manager部署在同一台服务器上,ip也可以填写docker的内部ip,我这里就是172.17.0.1
ip addr show docker0
notion image
notion image
notion image
保存之后再次打开,将ssl中的这些都进行勾选
notion image
此时你就可以通过你的域名不需要加端口访问你的wordpress了。

四、wordpress初始化设置

通过上面设置的域名访问你的wordpres
选择语言,我这里选择简体中文
notion image
完成站点信息设置
notion image
设置完站点信息就可以登录wordpress后台了
notion image
后台面板如图
notion image

五、更新和卸载

更新命令
cd /docker/wordpress # 进入docker-compose所在的文件夹 docker-compose pull # 拉取最新的镜像 docker-compose up -d # 重新更新当前镜像
卸载命令
sudo -i # 切换到root cd /docker/wordpress # 进入docker-compose所在的文件夹 docker-compose down # 停止容器,此时不会删除映射到本地的数据 cd ~ rm -rf /docker/wordpress # 完全删除映射到本地的数据

六、使用技巧

1、 出现上传的文件尺寸超过php.ini中定义的upload_max_filesize值

notion image
默认php设置的上传文件大小为2M,我们需要调整一下。
参考:https://github.com/docker-library/wordpress/issues/375
cd /docker/wordpress nano uploads.ini
输入以下内容
file_uploads = On upload_max_filesize = 256M #可以自己设置大小 post_max_size = 256M #可以自己设置大小
notion image
ctrl+x,y,enter 确认。
修改docker-compose文件
nano docker-compose.yaml
volume下面加入一句:
- /docker/wordpress/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
完整配置如下:
notion image
ctrl+x,y,enter 确认。
然后重启容器
docker-compose down docker-compose up -d
查看你的wordpress的容器id
docker ps -a
notion image
查看是否设置成功
docker exec 你的wp容器id php -i | grep upload
notion image
再次上传,已经可以上传了
notion image
docker- compose安装qbittorrentCanva团队高级版技术指导