docker:基于centos7镜像部署的php-fpm的9000端口无法被nginx访问的问题

记录下,使用docker部署nginx+php时遇到的一个坑

问题描述:nginx使用的是官方镜像,php是基于centos7镜像基础上构建的,至于为什么不直接使用官方php镜像?因为还要装一些依赖扩展,比如phalcon框架,是一个需要编译的扩展,还有其他很多东西,构建完之后发现nginx无法访问php的9000端口

docker exec -it my-php-container /bin/sh  # 登到php的容器里
telnet 127.0.0.1 9000
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

# 貌似没有问题,但是如果换成容器的ip telnet则有问题
# 同样,宿主机或者nginx也是无法访问该端口

telnet 172.19.0.2 9000
telnet: Connect to address 172.19.0.2: Connection refused

解决办法:修改php的php-fpm.d/www.conf

# /etc/php-fpm.d/www.conf
listen = 0.0.0.0:9000
; listen.allowed_clients = 127.0.0.1

将listen的端口有原来127.0.0.1:9000的绑定改成0.0.0.0:9000的绑定

注释 listen.allowed_clients = 127.0.0.1,保持默认值 any

这样 nginx 就可以访问到php-fpm的9000端口了

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值