问题:connect() failed (111: Connection refused) while connecting to upstream
问题描述:
服务器重启之后,服务器也正常运行,发现网站访问不了,后来查看nginx 错误日志(/var/log/nginx/error.log)
2016/05/1310:47:32[error]7688#0:*8connect()failed(111:Connectionrefused)whileconnectingtoupstream,client:****.****.****.33,server:,request:"GETurlHTTP/1.1",upstream:"fastcgi://127.0.0.1:9000",host:"****.leyue.com.cn:22080"
后来google,发现类似不少的问题,就整理了一下,基本上有以下三个原因造成这个问题的原因:
>>>php-fpm没有安装>>>php-fpm没有运行可以用psaux|grep'php-fpm',来查看.[root@dev~]#psaux|grep'php-fpm'root45700.00.16120247820?SsMay120:04php-fpm:masterprocess(/etc/php-fpm.conf)fpmport45710.00.06116205864?SMay120:00php-fpm:poolportfpmport45720.00.06116205892?SMay120:00php-fpm:poolport......如果没有运行,使用启动:/etc/init.d/php-fpmstart>>>php-fpm队列满了php-fpm.conf(/etc/php-fpm.conf)配置文件pm.max_children修改大一点,重启php-fpm并观察日志情况cd
也看到一个,端口被占用的情况:
nginx的error日志里经常报错2011/09/2713:03:47[error]17493#0:*7438996connect()failed(111:Connectionrefused)whileconnectingtoupstream,client:180.168.109.106,server:mysite.com,request:"GET/favicon.icoHTTP/1.1",upstream:"fastcgi://127.0.0.1:9000",host:"mysite.com"2011/09/2713:03:48[error]17493#0:*7438996connect()failed(111:Connectionrefused)whileconnectingtoupstream,client:180.168.109.106,server:mysite.com,request:"GET/HTTP/1.1",upstream:"fastcgi://127.0.0.1:9000",host:"mysite.com"2011/09/2713:03:49[error]17493#0:*7438996connect()failed(111:Connectionrefused)whileconnectingtoupstream,client:180.168.109.106,server:mysite.com,request:"GET/favicon.icoHTTP/1.1",upstream:"fastcgi://127.0.0.1:9000",host:"mysite.com"php-fpm的ERROR级别的日志是,[27-Sep-201112:08:02]ERROR:bind()foraddress'127.0.0.1:9000'failed:Addressalreadyinuse(98)[27-Sep-201112:30:04]ERROR:bind()foraddress'127.0.0.1:9000'failed:Addressalreadyinuse(98)[27-Sep-201112:40:04]ERROR:bind()foraddress'127.0.0.1:9000'failed:Addressalreadyinuse(98)[27-Sep-201112:50:04]ERROR:bind()foraddress'127.0.0.1:9000'failed:Addressalreadyinuse(98)[27-Sep-201112:57:04]ERROR:bind()foraddress'127.0.0.1:9000'failed:Addressalreadyinuse(98)[27-Sep-201113:03:04]ERROR:bind()foraddress'127.0.0.1:9000'failed:Addressalreadyinuse(98)[27-Sep-201113:03:04]ERROR:bind()foraddress'127.0.0.1:9000'failed:Addressalreadyinuse(98)偶尔出现[26-Sep-201117:48:24]ERROR:ptrace(PEEKDATA)failed:Input/outputerror(5)[26-Sep-201117:49:04]ERROR:bind()foraddress'127.0.0.1:9000'failed:Addressalreadyinuse(98)[26-Sep-201117:49:32]ERROR:ptrace(PEEKDATA)failed:Input/outputerror(5)[26-Sep-201117:49:33]ERROR:ptrace(PEEKDATA)failed:Input/outputerror(5)[26-Sep-201117:49:42]ERROR:ptrace(PEEKDATA)failed:Input/outputerror(5)
原因:
ERROR: bind() for address '127.0.0.1:9000' failed: Address already in use (98)
很明显9000端口被占用。
3个解决办法
1 在nginx.conf中换个php的端口试试
2 实在不行还有sock方式。
3 杀死那个占用9000端口的程序。
2>
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。