原本是想把 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 = 9000pm.max_children = 50pm.start_servers = 20pm.min_spare_servers = 10pm.max_spare_servers = 30pm.max_requests = 500

重启容器,批改内容已失效,运行胜利!

我的开源我的项目

  • course-tencent-cloud(酷瓜云课堂 - gitee仓库)
  • course-tencent-cloud(酷瓜云课堂 - github仓库)