搜索
鲸奇世界,弘创无限
与我们取得联系
请拨打电话或者扫描下方微信二维码联系我们。
24小时电话
188-2547-1709
微信 王经理
建站、SEO业务
微信 王经理
小程序、系统定制业务

鲸奇世界,弘创无限

PbootCMS开发环境配置:Docker一键搭建PHP 7.4 + Nginx + MySQL开发栈

鲸弘科技
2026-04-21
0 次

本文由广东鲸弘科技有限公司提供惠州小程序开发 / 网站建设专业分享。

PbootCMS的稳定运行依赖PHP、Nginx、MySQL三大核心组件,传统搭建方式需逐一配置各组件,步骤繁琐且易出现版本兼容问题。本文采用Docker容器化方案,一键搭建PHP 7.4(适配PbootCMS最优版本)+ Nginx + MySQL开发栈,无需手动配置依赖,新手也能10分钟完成环境搭建,且可实现环境一键迁移、复用,大幅提升开发效率。

适用场景:PbootCMS本地开发、团队协同开发、快速测试环境搭建;适配PbootCMS所有稳定版本,兼容Windows、Mac、Linux三大系统,全程命令行操作,步骤统一,无系统差异。

一、前置准备(必做,确保Docker正常运行)

搭建前需完成Docker相关工具安装,确保容器能正常启动,新手务必逐一完成,避免后续操作报错:

1.1 安装Docker Desktop(Windows/Mac)

  1. 访问Docker官方网站(https://www.docker.com/products/docker-desktop),下载对应系统的Docker Desktop安装包(Windows需满足Win10及以上专业版/企业版,开启Hyper-V;Mac需满足macOS 10.14及以上)。

  2. 双击安装包,按默认步骤下一步安装,安装完成后启动Docker Desktop,等待状态栏显示“Running”(表示Docker已正常运行)。

  3. 验证安装:打开系统终端(Windows用PowerShell,Mac用终端),输入命令 docker --version,若显示Docker版本号(如Docker version 24.0.7),说明安装成功。

1.2 安装Docker Engine(Linux)

Linux系统(以CentOS 7为例)执行以下命令,一键安装Docker Engine:

# 安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置Docker仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装Docker Engine
yum install docker-ce docker-ce-cli containerd.io -y
# 启动Docker并设置开机自启
systemctl start docker
systemctl enable docker
# 验证安装
docker --version

1.3 安装Docker Compose(核心工具)

Docker Compose用于一键管理多个容器(Nginx、PHP、MySQL),无需分别启动容器,安装命令如下:

# 下载Docker Compose(通用命令,Windows/Mac/Linux均可)
curl -L "https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋予执行权限(Linux/Mac)
chmod +x /usr/local/bin/docker-compose
# Windows无需执行权限,直接验证
# 验证安装
docker-compose --version

若显示Docker Compose版本号(如docker-compose version v2.23.3),说明安装成功。

1.4 补充准备

  • 下载PbootCMS源码:访问PbootCMS官方网站(https://www.pbootcms.com/),下载最新稳定版源码,解压后备用(后续挂载到容器中)。

  • 确保网络通畅:Docker拉取镜像需要联网,若网络卡顿,可配置Docker镜像源(如阿里云镜像源),提升拉取速度。

二、Docker Compose配置文件编写(核心步骤)

创建统一的配置文件(docker-compose.yml),用于定义Nginx、PHP 7.4、MySQL三个容器的配置,实现一键启动,步骤如下:

2.1 创建工作目录

在本地创建一个工作目录(用于存放配置文件、PbootCMS源码、数据库数据),避免文件混乱,命令如下:

# 创建工作目录(可自定义路径,示例路径)
mkdir -p /docker/pbootcms
# 进入工作目录
cd /docker/pbootcms

Windows系统可在D盘创建D:dockerpbootcms目录,通过PowerShell进入该目录(命令:cd D:dockerpbootcms)。

2.2 编写docker-compose.yml配置文件

在工作目录中创建docker-compose.yml文件,复制以下内容(直接复制即可,无需修改核心配置,新手可跳过自定义配置):

version: '3.8'
services:
  # Nginx容器
  nginx:
    image: nginx:alpine  # 轻量版Nginx镜像,体积小、启动快
    ports:
      - "80:80"  # 端口映射,本地80端口映射到容器80端口(可修改本地端口,如8080:80)
    volumes:
      # 挂载Nginx配置文件(后续创建)
      - ./nginx/conf.d:/etc/nginx/conf.d
      # 挂载PbootCMS源码目录(替换为自己的源码解压路径)
      - ./pbootcms:/usr/share/nginx/html
      # 挂载Nginx日志目录
      - ./nginx/logs:/var/log/nginx
    depends_on:
      - php  # 依赖PHP容器,确保PHP先启动
    restart: always  # 容器异常时自动重启
  # PHP 7.4容器(适配PbootCMS最优版本)
  php:
    image: php:7.4-fpm-alpine  # PHP 7.4-fpm镜像,轻量且兼容PbootCMS
    volumes:
      # 挂载PbootCMS源码目录(与Nginx挂载路径一致)
      - ./pbootcms:/usr/share/nginx/html
      # 挂载PHP配置文件(后续创建)
      - ./php/php.ini:/usr/local/etc/php/php.ini
    depends_on:
      - mysql  # 依赖MySQL容器,确保MySQL先启动
    restart: always
    # 安装PbootCMS所需PHP扩展(核心,否则安装PbootCMS会报错)
    environment:
      - PHP_EXTENSIONS=mysqli pdo_mysql gd curl json mbstring
  # MySQL容器(5.7版本,适配PbootCMS)
  mysql:
    image: mysql:5.7  # MySQL 5.7,避免高版本兼容问题
    ports:
      - "3306:3306"  # 端口映射,本地3306端口映射到容器3306端口
    volumes:
      # 挂载MySQL数据目录(确保数据持久化,容器删除后数据不丢失)
      - ./mysql/data:/var/lib/mysql
      # 挂载MySQL配置文件(后续创建)
      - ./mysql/my.cnf:/etc/mysql/my.cnf
    environment:
      # 配置MySQL root密码(自定义,后续安装PbootCMS需用到)
      - MYSQL_ROOT_PASSWORD=root123456
      # 自动创建PbootCMS所需数据库(无需手动创建)
      - MYSQL_DATABASE=pbootcms
    restart: always

2.3 编写各组件配置文件

根据docker-compose.yml中的挂载路径,创建Nginx、PHP、MySQL的配置文件,确保容器启动后能正常联动:

(1)创建Nginx配置文件

# 在工作目录中创建Nginx配置目录及文件
mkdir -p ./nginx/conf.d
# 创建Nginx站点配置文件(pbootcms.conf)
vi ./nginx/conf.d/pbootcms.conf

复制以下内容到pbootcms.conf文件中(直接复制,无需修改):

server {
    listen 80;
    server_name localhost;  # 本地测试用localhost,线上可替换为域名
    root /usr/share/nginx/html;  # 与容器中PbootCMS源码路径一致
    index index.php index.html index.htm;
    # 解析PHP文件,转发到PHP容器
    location ~ .php$ {
        fastcgi_pass php:9000;  # 关联PHP容器(与docker-compose.yml中PHP服务名一致)
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    # 静态文件缓存配置(提升访问速度)
    location ~* .(jpg|jpeg|png|gif|css|js|ico)$ {
        expires 30d;
        add_header Cache-Control "public, max-age=2592000";
    }
    # 禁止访问隐藏文件
    location ~ /.ht {
        deny all;
    }
}

(2)创建PHP配置文件

# 在工作目录中创建PHP配置目录及文件
mkdir -p ./php
# 创建php.ini文件
vi ./php/php.ini

复制以下核心配置(适配PbootCMS,解决常见报错):

max_execution_time = 300  # 延长脚本执行时间,避免安装PbootCMS超时
memory_limit = 128M  # PHP内存限制,可根据需求调整
upload_max_filesize = 20M  # 上传文件大小限制,适配PbootCMS模板、图片上传
post_max_size = 20M
date.timezone = Asia/Shanghai  # 设置时区,避免时间显示错误
mysqli.default_host = mysql  # 关联MySQL容器(与docker-compose.yml中MySQL服务名一致)
mysqli.default_user = root
mysqli.default_password = root123456  # 与docker-compose.yml中MySQL密码一致
mysqli.default_port = 3306

(3)创建MySQL配置文件

# 在工作目录中创建MySQL配置目录及文件
mkdir -p ./mysql
# 创建my.cnf文件
vi ./mysql/my.cnf

复制以下配置(解决MySQL编码、连接问题):

[mysqld]
character-set-server = utf8mb4  # 编码设置,避免中文乱码
collation-server = utf8mb4_general_ci
max_connections = 100  # 最大连接数,适配开发环境
default-storage-engine = InnoDB
[mysql]
default-character-set = utf8mb4

(4)挂载PbootCMS源码

将之前下载并解压的PbootCMS源码,复制到工作目录的pbootcms文件夹中(若没有该文件夹,手动创建),确保源码中的index.php文件位于./pbootcms/index.php路径下(与Nginx、PHP挂载路径一致)。

三、一键启动Docker容器(核心操作)

所有配置文件编写完成后,在工作目录中执行一键启动命令,Docker会自动拉取镜像、创建容器并启动,步骤如下:

# 进入工作目录(确保在docker-compose.yml所在目录)
cd /docker/pbootcms  # Linux/Mac路径
# 或 cd D:dockerpbootcms  # Windows路径
# 一键启动所有容器(后台运行)
docker-compose up -d

执行命令后,Docker会开始拉取Nginx、PHP 7.4、MySQL 5.7镜像(首次拉取可能需要几分钟,取决于网络速度),拉取完成后自动启动容器。

验证容器启动状态:输入命令 docker-compose ps,若三个容器(nginx、php、mysql)的状态均为“Up”,说明容器启动成功。

四、PbootCMS安装验证(确认环境可用)

容器启动成功后,通过浏览器访问PbootCMS安装页面,验证环境是否配置正确,步骤如下:

  1. 打开浏览器,输入地址:http://localhost(若修改了Nginx端口,如8080,则输入http://localhost:8080)。

  2. 进入PbootCMS安装向导页面,点击“下一步”,系统会自动检测环境,若所有检测项均为“√”(无报错),说明环境配置成功。

  3. 数据库配置步骤(关键):

    1. 数据库主机:填写mysql(与docker-compose.yml中MySQL服务名一致,无需填写localhost或IP)。

    2. 数据库名:填写pbootcms(与docker-compose.yml中MYSQL_DATABASE一致)。

    3. 数据库用户名:填写root

    4. 数据库密码:填写root123456(与docker-compose.yml中MYSQL_ROOT_PASSWORD一致)。

  4. 填写网站信息(网站名称、管理员账号密码),点击“安装”,等待1-2分钟,安装完成后,点击“进入后台”或“访问前台”,即可正常使用PbootCMS。

五、常用Docker命令(后续维护必备)

后续维护容器、重启环境时,常用以下命令,新手可收藏备用:

# 1. 启动所有容器(后台运行)
docker-compose up -d
# 2. 停止所有容器
docker-compose down
# 3. 重启所有容器
docker-compose restart
# 4. 查看容器日志(排查报错,如Nginx日志、PHP日志)
docker-compose logs -f nginx  # 查看Nginx日志
docker-compose logs -f php    # 查看PHP日志
docker-compose logs -f mysql  # 查看MySQL日志
# 5. 进入容器内部(如需修改配置、排查问题)
docker exec -it 容器名 /bin/sh  # 示例:docker exec -it nginx /bin/sh
# 6. 查看镜像列表
docker images
# 7. 清理无用镜像、容器(释放空间)
docker system prune -a

六、常见问题汇总(避坑指南)

问题1:Docker拉取镜像速度过慢,甚至超时?

解决方法:配置阿里云Docker镜像源,以Windows为例:打开Docker Desktop,点击“Settings”→“Docker Engine”,在配置中添加以下内容,保存后重启Docker:

"registry-mirrors": [
  "https://docker.mirrors.aliyun.com",
  "https://hub-mirror.c.163.com"
]

Linux/Mac:修改/etc/docker/daemon.json文件,添加上述镜像源,执行systemctl daemon-reload && systemctl restart docker重启Docker。

问题2:访问localhost无法进入PbootCMS安装页面?

解决方法:1. 检查容器状态,确保三个容器均为“Up”(执行docker-compose ps);2. 检查Nginx配置文件,确保root路径与PbootCMS源码路径一致;3. 检查PbootCMS源码是否正确挂载,确保./pbootcms/index.php文件存在;4. 若修改了Nginx端口,访问时需加上端口(如http://localhost:8080)。

问题3:PbootCMS安装时,数据库连接失败?

解决方法:1. 核对数据库配置信息,确保数据库主机为mysql、数据库名、密码与docker-compose.yml一致;2. 检查MySQL容器是否启动,执行docker-compose logs -f mysql排查MySQL启动报错;3. 重启MySQL容器(docker-compose restart mysql)后重试。

问题4:PHP扩展缺失,安装PbootCMS报错?

解决方法:检查docker-compose.yml中PHP容器的PHP_EXTENSIONS配置,确保包含mysqli pdo_mysql gd curl json mbstring,若缺失,添加后执行docker-compose down && docker-compose up -d重启容器。

问题5:容器启动后,重启电脑/服务器,容器无法自动启动?

解决方法:docker-compose.yml中已配置restart: always,确保Docker服务设置为开机自启(Windows/Mac在Docker Desktop中设置,Linux执行systemctl enable docker),重启后容器会自动启动。

七、总结

通过Docker一键搭建PbootCMS开发环境,无需手动配置PHP、Nginx、MySQL的依赖和版本,规避了传统搭建方式的版本兼容、配置繁琐等问题,新手也能快速上手。核心是编写正确的docker-compose.yml配置文件,确保各容器挂载路径、参数配置正确,启动容器后通过PbootCMS安装向导验证环境即可。

该环境可直接用于本地开发,若需部署到线上服务器,只需将工作目录复制到服务器,确保服务器安装Docker和Docker Compose,执行相同的启动命令即可实现环境迁移,大幅提升开发和部署效率。后续若需修改环境配置,只需修改对应配置文件,重启容器即可生效。

AI 智能助理
您好!有什么可以帮助您的吗?
  • 稳定
    多年经验,服务稳定
  • 贴心
    全国7*24小时客服热线
  • 专业
    产品经理在线技术支持
  • 快速
    快速评估,快速执行
  • 承诺
    有目共睹,我们选声誉
AI 智能助理
您好!有什么可以帮助您的吗?
  • 稳定
    多年经验,服务稳定
  • 贴心
    全国7*24小时客服热线
  • 专业
    产品经理在线技术支持
  • 快速
    快速评估,快速执行
  • 承诺
    有目共睹,我们选声誉
AI 智能助理
您好!有什么可以帮助您的吗?
  • 稳定
    多年经验,服务稳定
  • 贴心
    全国7*24小时客服热线
  • 专业
    产品经理在线技术支持
  • 快速
    快速评估,快速执行
  • 承诺
    有目共睹,我们选声誉
AI 智能助理
您好!有什么可以帮助您的吗?
  • 稳定
    多年经验,服务稳定
  • 贴心
    全国7*24小时客服热线
  • 专业
    产品经理在线技术支持
  • 快速
    快速评估,快速执行
  • 承诺
    有目共睹,我们选声誉
AI 智能助理
您好!有什么可以帮助您的吗?
  • 稳定
    多年经验,服务稳定
  • 贴心
    全国7*24小时客服热线
  • 专业
    产品经理在线技术支持
  • 快速
    快速评估,快速执行
  • 承诺
    有目共睹,我们选声誉
AI 智能助理
您好!有什么可以帮助您的吗?
  • 稳定
    多年经验,服务稳定
  • 贴心
    全国7*24小时客服热线
  • 专业
    产品经理在线技术支持
  • 快速
    快速评估,快速执行
  • 承诺
    有目共睹,我们选声誉
AI 智能助理
您好!有什么可以帮助您的吗?
  • 稳定
    多年经验,服务稳定
  • 贴心
    全国7*24小时客服热线
  • 专业
    产品经理在线技术支持
  • 快速
    快速评估,快速执行
  • 承诺
    有目共睹,我们选声誉
复制成功

微信号:kaxiO_o

添加微信好友,免费获取方案及报价

我知道了
联系
扫码添加技术微信
1V1在线技术支持
联系电话
188-2547-1709建站、seo业务
电话若占线或未接到、就加下微信
联系邮箱
frank@vi23.com企业邮箱