您现在的位置是:首页 >> BadouCMS教程BadouCMS教程
BadouCMS使用docker运行环境之DNMP
董哥2025-07-253次围观
1. 环境简介
DNMP 是基于 Docker 的 PHP 开发环境,集成了 Nginx、MySQL、Redis、PHP 多版本等,适合本地开发和测试。
2. 快速启动
克隆项目代码到本地:
git clone cd dnmp
启动服务:
docker-compose up -d
访问服务:
Nginx 默认监听 80 端口,浏览器访问 http://localhost 即可。
3. 目录结构说明
services/nginx/conf.d/
:Nginx 虚拟主机配置services/phpXX/
:不同 PHP 版本配置data/
:数据持久化目录(MySQL、Redis 等)www/
:项目代码目录
4. Nginx 配置与 PATH_INFO 说明
以 services/nginx/conf.d/badoucms.conf
为例:
location ~ ^/admin.php { fastcgi_split_path_info ^(/admin.php)(/.*)$; fastcgi_pass php82:9000; fastcgi_index admin.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; include fastcgi_params; }
fastcgi_split_path_info
用于将 URL 拆分为脚本名和 PATH_INFO。例如访问
/admin.php/index/login
时:SCRIPT_FILENAME
=/www/badoucms/public/admin.php
PATH_INFO
=/index/login
这样 PHP 框架可以根据 PATH_INFO 路由到正确的控制器和方法。
5. 常见问题
PATHINFO 不正确导致 action 错误
检查 Nginx 配置的fastcgi_split_path_info
是否为^(/admin.php)(/.*)$
,否则 PHP 获取不到正确的 PATHINFO,路由会异常。端口冲突
如本地 80 端口被占用,可在docker-compose.yml
修改端口映射。
6. 其他操作
查看服务状态:
docker-compose ps
停止服务:
docker-compose down
查看日志:
docker-compose logs nginx