怎样排除Nginx使用中的错误

2021年6月12日 | 分类: 【技术】

【排错】

报错:An error occurred. Sorry, the page you are looking for is currently unavailable.

查看 nginx 日志,发现:failed (2: No such file or directory)

仔细查看,原来网站目录名出现拼写错误。

报错:connect() failed (111: Connection refused)

当 LNMP 各项配置OK的时候,打开 IP ,发现页面报错:502 Bad Gateway

查看日志:/usr/local/nginx/logs/error.log

 connect() failed (111: Connection refused) while connecting to upstream ... upstream: "fastcgi://127.0.0.1:9000"...

参考:https://www.cnblogs.com/xbxxf/p/9132163.html

方法:因为 Nginx 和 PHP 有两种链接方式

第一种(源码编译方式)

fastcgi_pass 127.0.0.1:9000;

另一种(迅速安装方式)

fastcgi_pass unix:/run/php/php-fpm.sock;

具体使用哪一种方式需要查看 php-fpm 的配置文件:

第一种(源码编译方式):/usr/local/php/etc/php-fpm.d/www.conf

listen = 127.0.0.1:9000

Listen 是端口,就按第一种链接方式。

另一种(迅速安装方式):/etc/php-fpm.d/www.conf

listen = /run/php-fpm/www.sock

必须保持一致。本例是第二种链接方式,修正后测试无误。

参考:https://blog.csdn.net/LY_Dengle/article/details/69568652

报错:the “ssl” directive is deprecated, use the “listen … ssl

参考:https://www.bbsmax.com/A/nAJvbjnGJr/

新版nginx采用新的方式进行监听https请求,解决方法:
1. listen 443 ssl;
2. 删除ssl配置 ssl on

报错:headers_more_filter_module.so” is not binary compatible

参考:https://blog.csdn.net/qq_35011172/article/details/88873861

原因:第三方模块的编译中包含的签名和使用的nignx不一致。

办法:先通过 nginx -V 命令得到当前配置的configure配置,在复制所有的配置命令。添加到:
./configure [“你的nignx -V 得到的配置参数”] –add-dynamic-module=/etc/pan1/fastdfs-nginx-mo,重新生成第三方模块。

参考:https://amon.org/headers-more-nginx-module

造成这个问题的原因大致有两个:

1. php-fpm没有运行
执行如下命令查看是否启动了php-fpm,如果没有则启动你的php-fpm即可

用命令 netstat -ant | grep 9000 查看php-fpm进程,没有运行则启动

2. 可能是php-fpm队列满了

php-fpm.conf配置文件pm.max_children修改大一点,重启php-fpm并观察日志情况

【参考】

参考:https://www.cnblogs.com/Dy1an/p/11227796.html
参考:https://blog.csdn.net/leonpengweicn/article/details/52849527

参考:https://www.cnblogs.com/beyang/p/7718463.html
参考:https://www.markdream.com/technologies/server/nginx-many-https-mapping.shtml
参考:https://www.tollmanz.com/http2-nghttp2-nginx-tls/
参考:https://http2.pro/doc/Nginx

参考:https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-with-http-2-support-on-ubuntu-16-04
参考:https://blog.51cto.com/lee90/1885188
参考:http://nginx.org/en/docs/http/ngx_http_v2_module.html

参考:https://www.jb51.net/article/151273.htm
参考:https://blog.csdn.net/zzpuser/article/details/71173451