bug重现
*1 connect() failed (111: Connection refused) while connecting to upstream, client: 171.223.98.217, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://172.17.0.2:9000", host: "139.196.186.179
原因
| CONTAINER ID | IMAGE | PORTS | NAMES |
| --------------------------------------------------- |
| e168aadd76af | php:7.4.8-fpm | 9000/tcp | my-php |
php容器启动后, PORTS端口会出现监听
9000/tcp
,否则启动失败;
php启动失败原因一般为php里面没有php-fpm;安装之后就可以了 ,如果不确定 自己的php版本容器里面是否有php-fpm,可以去容器里面查看配置文件,目录在容器中的/usr/local/etc
;
网上很多案例都是安装的php-fpm5.6,里面是集成好了的,最新的php,需要自己安装php-fpm,所以php会一直启动不了;启动好之后配置就可以了
注意:
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
include fastcgi_params;
}
- fastcgi_pass php:9000;这个地方的php; 是nginx容器连接php容器, php容器的别名;不用别名的话, 这里就要写php容器具体的内网ip了;
- fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name; /www/这个是目中宿主机目录对应php容器的/www/目录;