当前位置: 首页 > news >正文

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

  1. 服务启动后,在浏览器访问服务器 IP(如 http://172.16.0.10
  2. 选择语言,点击 "继续"
  3. 填写网站信息(站点标题、用户名、密码等)
  4. 点击 "安装 WordPress" 完成安装
  5. 如果出现无法写入 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 扩展缺失等常见问题。

http://www.dtcms.com/a/449330.html

相关文章:

  • 无锡企业网站制作哪家好前端的网站重构怎么做
  • TensorFlow2 Python深度学习 - 深度学习概述
  • Davor的北极探险资金筹集:数学建模与算法优化(洛谷P4956)
  • Web Components 的开发过程举例
  • 【Algorithm】Day-1
  • 提示工程深度解析:驾驭大语言模型的艺术与科学
  • 网站开发证书是什么中国建设学会查询网站
  • java代码随想录day50|图论理论基础
  • 【模型量化迁移】详解:让AI大模型在端侧“轻装上阵”的核心技术
  • 【Proteus仿真】虚拟终端出现乱码问题解决
  • 深入理解HarmonyOS ArkTS语法:从基础到高级应用开发
  • Photoshop - Photoshop 工具栏(5)多边套索工具
  • 做彩票网站空间去哪买网站主播
  • JavaWeb--Ajax
  • 网站建设与维护报告总结许昌网站建设汉狮套餐
  • [初学C语言]关于scanf和printf函数
  • Oracle OCP认证考试题目详解082系列第2题
  • c++中<iostream> 常用接口汇总
  • Photoshop - Photoshop 工具栏(6)对象选择工具
  • 爱发电nginx转发企业微信webhook
  • 四川红叶建设有限公司网站长沙专业做网站
  • 光通信|模分复用技术-综述
  • Powercat内网端口转发实战:穿透边界服务器获取Shell
  • 千万级用户电商平台,Flink实时推荐系统如何实现毫秒级延迟?
  • 安装好vscode后,缺少vscode打开文件或文件夹选项
  • 装修网站开发思路用ps怎么做网站背景
  • 郑州网站zhi zuo网站开发+接活
  • NPM packages not found
  • user-interface 概念及题目
  • Asp.net core用Swashbuckle.AspNetCore库出现错误信息:No operations defined in spec!