本来是想把 php-fpm 的配置文件独立出来,这样修改起来就方便,想当然的认为把 www.conf 配置文件挂载出来就好了,docker-compose.yml 中 PHP 容器部分内容如下:

volumes:
  - ./html:/var/www/html
  - ./php/log:/var/log/php-fpm
  - ./php/conf.d/php.ini:/usr/local/etc/php/conf.d/php.ini
  - ./php/php-fpm.d/www.conf:/usr/local/etc/php-fpm.d/www.conf

重新启动后,nginx 就链接不上 php-fpm 了,转发内容失败。如果不挂载配置文件,进入 php 容器内部改 www.conf 文件也可以达到同样的效果,可是不能复用呀,难道就这么结束了?

我们发现 /usr/local/etc/php-fpm.d 目录下有三个配置文件:www.conf,docker.conf,zz-docker.conf,其中zz-docker.conf 里面有关于 www 的相关配置,这个应该是覆盖配置特有的文件,调整挂载文件如下:

volumes:
  - ./html:/var/www/html
  - ./php/log:/var/log/php-fpm
  - ./php/conf.d/php.ini:/usr/local/etc/php/conf.d/php.ini
  - ./php/php-fpm.d/zz-docker.conf:/usr/local/etc/php-fpm.d/zz-docker.conf

把想修改的内容配置在 zz-docker.conf 文件中, 样例内容如下:

[global]
daemonize = no

[www]
listen = 9000

pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 30
pm.max_requests = 500

重启容器,修改内容已生效,运行成功!

我的开源项目

酷瓜云课堂


鸠摩智首席音效师
472 声望9 粉丝

身强体健,龙精虎猛的活着。