您的足迹:首页 > linux知识 >nginx 报错 connect() failed (111: Connection refused) while connecting to upstream

nginx 报错 connect() failed (111: Connection refused) while connecting to upstream

网站搬迁到新服务器后,发现站点访问不了,network里面提示502,查看相关的server配置,感觉没有什么问题,经过测试发现txt、html、等非php文件能够直接访问,也就是php访问不了,初步断定有可能是php-fpm没有安装或者没有启动导致。
?首先判断php-fpm是否已经安装,没有安装的情况就需要先安装php-fpm,安装可以参数相关资料。
确定好服务器已经安装了php-fpm之后,查看是否已经启动或者直接重启:
[root@izwz9glf2r6p2z8ytslvblz /]# /usr/local/php/sbin/php-fpm start ?

启动完成后,重启nginx:
[root@izwz9glf2r6p2z8ytslvblz /]# service nginx restart ?(或者 ./usr/local/php/sbin/nginx)
然后刷新网站页面,但是并没有成功,依然报错。

此时我们先在查看下错误日志 error.log,发现里面都是清一色的报错:
connect() failed (111: Connection refused) while connecting to upstream ...... ? fastcgi://127.0.0.1:9000 ......
提示的意思就是说连接不上9000端口,这就奇怪了,其实在平时配置nginx的server里面,大部分应该都是配置127.0.0.1:9000 作为分发端口。
现在需要查看一下是否有监听9000端口:
[root@izwz9glf2r6p2z8ytslvblz /]# netstat -ant | grep 9000 ?
发现并没有监听到,但实际上我们的php-fpm已经启动,那现在怎么办呢?
检查一下nginx conf文件server里的端口号是否一致都是9000,我的报错是因为这个端口号不一致
我们去查看一下php-fpm.conf里面的配置:
[root@izwz9glf2r6p2z8ytslvblz /]# vim  /usr/local/php/etc/php-fpm.conf 
149 user = www
150 group = www
151 
152 ; The address on which to accept FastCGI requests.
153 ; Valid syntaxes are:
154 ;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific IPv4 address on
155 ;                            a specific port;
156 ;   '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
157 ;                            a specific port;
158 ;   'port'                 - to listen on a TCP socket to all IPv4 addresses on a
159 ;                            specific port;
160 ;   '[::]:port'            - to listen on a TCP socket to all addresses
161 ;                            (IPv6 and IPv4-mapped) on a specific port;
162 ;   '/path/to/unix/socket' - to listen on a unix socket.
163 ; Note: This value is mandatory.
164 listen = 127.0.0.1:9001

此时我们需要根据配置文件的listen地址做对应的修改nginx.conf文件(我的是conf.d/default.conf)里:
location ~ \.php {
? ? ? ? ? ? ? ? proxy_connect_timeout 600;
? ? ? ? ? ? ? ? proxy_read_timeout 600;
? ? ? ? ? ? ? ? proxy_send_timeout 600;
? ? ? ? ? ? ? ? root /data/www/;
? ? ? ? ? ? ? ? fastcgi_pass 127.0.0.1:9001;
? ? ? ? ? ? ? ? fastcgi_index index.php;
? ? ? ? ? ? ? ? include ? ? ? ?fastcgi_params;

 #定义变量 $path_info ,用于存放pathinfo信息
? ? ? ? ? ? ? ? set $path_info "";
 #定义变量 $real_script_name,用于存放真实地址
? ? ? ? ? ? ? ? set $real_script_name $fastcgi_script_name;
 #如果地址与引号内的正则表达式匹配
? ? ? ? ? ? ? ? if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
 #将文件地址赋值给变量 $real_script_name
? ? ? ? ? ? ? ? ? ? ? ? set $real_script_name $1;
 #将文件地址后的参数赋值给变量 $path_info
? ? ? ? ? ? ? ? ? ? ? ? set $path_info $2;
? ? ? ? ? ? ? ? }
 #配置fastcgi的一些参数
? ? ? ? ? ? ? ? fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
? ? ? ? ? ? ? ? fastcgi_param SCRIPT_NAME $real_script_name;
? ? ? ? ? ? ? ? fastcgi_param PATH_INFO $path_info;
? ? ? ? }


相关推荐

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)