关于Nginx无法解析php,其日志中error(111: Connection refused)

回复 收藏
首先这个是拒绝连接的意思;我遇到这个报错的原因是,php-fpm.conf中“listen=” 写的是.sock ,而nginx.conf中fastcgi_pass 写的是ip,所以导致连接被拒绝!意思就是说,这两者必须一致,要么都监听IP,要么都使用.sock
2015-12-09 03:14 举报
已邀请:
0

乔夫

赞同来自:

例如这样肯定不可以!
0

zhangzihao

赞同来自:

建议检测ip 检查的时候方便  ip 端口号一目了然
0

定海偶然

赞同来自:

sock通信比ip好!
0

zhangzihao

赞同来自:


说说好在哪里;
0

定海偶然

赞同来自:

本帖最后由 定海偶然 于 2015-12-9 09:39 编辑


在服务器压力不大的情况下,tcp和socket差别不大,但在压力比较满的时候,用套接字方式,效果确实比较好.
nginx 和 php-fpm 同时支持 unix 域套接字,unix 域套接字可用于实现同一主机下不同进程之间的通讯,它是基于 socket API 接口实现的,但并没有走 TCP 协议栈,所以在性能上更优越,适合同一主机下的进程间通讯
0

qidi2015

赞同来自:

定海偶然 发表于 2015-12-9 09:37
在服务器压力不大的情况下,tcp和socket差别不大,但在压力比较满的时候,用套接字方式,效果确实比较 ...

总之,如果nginx和php-fpm跑在同一台机器,就用sock ,而且这个sock的路径还可以指向/dev/shm ,效率高,而且你的机器还可以少开一个9000端口。
如果不在同一台机器,就只能tcp了。
0

定海偶然

赞同来自:

qidi2015 发表于 2015-12-9 14:12
总之,如果nginx和php-fpm跑在同一台机器,就用sock ,而且这个sock的路径还可以指向/dev/shm ,效率高, ...

Tcp是使用TCP端口连接127.0.0.1:9000

Socket是使用unix domain socket连接套接字/dev/shm/php-cgi.sock

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: