Docker Compose 搭建 LNMP 环境并部署 WordPress 论坛
目录
详细步骤说明
1. 环境准备
2. 核心配置说明
3. 安装 WordPress
4. 常用命令
5. 注意事项
6.常见错误
以下是使用 Docker Compose 搭建 LNMP 环境并部署 WordPress 论坛的完整步骤,整合了之前的所有配置和问题解决方案:
# 一、准备工作
## 1. 创建项目目录结构
mkdir -p lnmp/{nginx/conf,php,mysql/data,wordpress}
cd lnmp# 二、编写配置文件
## 1. 创建PHP Dockerfile(安装mysqli扩展)
cat > ./php/Dockerfile << 'EOF'
FROM php:7.4-fpm
# 安装WordPress必需的MySQL扩展
RUN docker-php-ext-install mysqli pdo_mysql
CMD ["php-fpm"]
EOF## 2. 创建PHP配置文件
cat > ./php/php.ini << 'EOF'
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
EOF## 3. 创建Nginx配置文件
cat > ./nginx/conf/wordpress.conf << 'EOF'
server {listen 80;server_name localhost;root /var/www/html;index index.php index.html index.htm;location / {try_files $uri $uri/ /index.php?$args;}location ~ \.php$ {fastcgi_pass php:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}
}
EOF## 4. 创建docker-compose.yml
cat > docker-compose.yml << 'EOF'
version: '3'services:nginx:image: nginx:latestports:- "80:80"volumes:- ./nginx/conf:/etc/nginx/conf.d- ./wordpress:/var/www/htmldepends_on:- phprestart: alwaysphp:build: ./phpvolumes:- ./wordpress:/var/www/html- ./php/php.ini:/usr/local/etc/php/php.inidepends_on:- mysqlrestart: alwaysmysql:image: mysql:5.7ports:- "3306:3306"volumes:- ./mysql/data:/var/lib/mysqlenvironment:MYSQL_ROOT_PASSWORD: rootpasswordMYSQL_DATABASE: wordpressMYSQL_USER: wpuserMYSQL_PASSWORD: wppasswordrestart: always
EOF# 三、下载WordPress源码
wget https://wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz
cp -r wordpress/* ./wordpress/
rm -rf wordpress latest.tar.gz# 四、设置目录权限
chmod -R 755 ./wordpress
chmod 666 ./wordpress/wp-config.php # 允许WordPress写入配置文件# 五、启动服务(禁用BuildKit避免构建问题)
export DOCKER_BUILDKIT=0
docker-compose up -d --build# 六、显示启动结果
docker-compose ps
详细步骤说明
1. 环境准备
- 确保已安装 Docker 和 Docker Compose
- 执行脚本前请确保当前目录干净,脚本会自动创建所需的目录结构
2. 核心配置说明
- PHP 配置:通过 Dockerfile 安装了
mysqli
和pdo_mysql
扩展,解决了 WordPress 所需的数据库连接扩展问题 - Nginx 配置:正确配置了 PHP 解析规则,确保
.php
文件能被 PHP-FPM 处理 - MySQL 配置:预设了 WordPress 所需的数据库和用户,无需手动创建
- 权限设置:对 WordPress 目录设置了合适的权限,避免 403 错误和配置文件无法写入的问题
3. 安装 WordPress
- 服务启动后,在浏览器访问服务器 IP(如
http://172.16.0.10
) - 选择语言,点击 "继续"
- 填写网站信息(站点标题、用户名、密码等)
- 点击 "安装 WordPress" 完成安装
- 如果出现无法写入
wp-config.php
的提示:- 复制页面中的配置代码
- 在服务器上执行:
vi ./wordpress/wp-config.php
- 粘贴代码并保存
- 点击页面中的 "运行安装"
4. 常用命令
- 停止服务:
docker-compose down
- 重启服务:
docker-compose restart
- 查看日志:
docker-compose logs -f
- 进入容器:
docker exec -it 容器名 /bin/bash
(容器名可通过docker ps
查看)
5. 注意事项
- 生产环境中建议修改 MySQL 密码(
docker-compose.yml
中的MYSQL_ROOT_PASSWORD
和MYSQL_PASSWORD
) - 定期备份
./mysql/data
目录(数据库数据)和./wordpress
目录(网站文件) - 如果需要使用 HTTPS,可以参考之前的 Nginx HTTPS 配置,在 Nginx 容器中添加 SSL 证书和配置
6.常见错误
- 配置加速器依旧无法拉取镜像,可以通过直接指定华为云镜像源官方仓库拉取,如
docker pull swr.cn-south-1.myhuaweicloud.com/library/nginx:latest - 手动拉取的镜像要注意关掉服务,比如拉取MySQL镜像,需要使用systemctl stop mysqld关闭服务
- 搭建论坛需要安装php扩展,否则无法正常使用
输入用户名和密码后,会先让你创建账号,创建完进入该页面
按照以上步骤操作,即可成功搭建 LNMP 环境并部署 WordPress 论坛,解决了端口冲突、权限问题、PHP 扩展缺失等常见问题。