2026-06-06 05:36:46
使用bitnami/php-fpm镜像,关键配置端口映射和卷挂载:
docker run -d --name my-php-fpm -p 9000:9000 -v /path/to/your/php/app:/app bitnami/php-fpm:latest参数说明:
创建配置文件(如/etc/nginx/conf.d/your_app.conf):
server { listen 80; server_name localhost your.domain.com; root /path/to/your/php/app; index index.php index.html index.htm; error_log /var/log/nginx/your_app.error.log; access_log /var/log/nginx/your_app.access.log; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_split_path_info ^(.+.php)(/.+)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; } location ~ /. { deny all; }}关键配置项:
Nginx的root路径
Docker的-v挂载路径
容器内部php-fpm处理的路径
错误日志:/var/log/nginx/your_app.error.log
访问日志:/var/log/nginx/your_app.access.log
确认fastcgi_pass指向正确端口
检查SCRIPT_FILENAME路径是否完整
验证PHP文件是否存在于指定路径
修改端口映射:-p 8000:9000
同步更新Nginx配置中的fastcgi_pass
location /块中的try_files指令
确保index指令包含index.php
通过正确配置:
可实现宿主机Nginx与容器化php-fpm的高效协作。遇到问题时优先检查:
这种部署模式结合了Docker的隔离性和Nginx的灵活性,特别适合需要动态扩展PHP应用的场景。