在架设Nginx服务器时,经常会遇到网站无法打开、网站访问4xx/5xx错误、网站访问403错误、网站访问卡慢等异常情况,接下来由南昌网站开发公司开发部王主管为大家分享高效的排查方法,希望对广开发者有所帮助。
一、Nginx网站无法打开
1、检查Nginx是否正常启动
2、登录服务器里执行命令,查看网站80、443端口是否监听启动,提作步骤如下:
netstat -nltp |grep -E \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'80|443\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
执行命令,查看Nginx进程是否运行。
ps aux |grep nginx #CentOS/Alinux系统里进程名是nginx
启动Nginx服务
如果Nginx没有启动,执行命令启动Nginx。
systemctl start nginx.service #CentOS/Alinux系统
检查安全组和防火墙规则
ECS控制台检查安全组规则是否放行了80、443端口访问。
登录ECS管理控制台。
在左侧导航栏,单击“实例与镜像” > “实例”。
在“实例列表”中找到对应ECS实例,点击ECS实例名称进入到实例管理页面。
在“安全组”选项中,查看入方向安全规则。
在服务器里执行命令,查看是否设置iptables 防火墙规则。
iptables -nL
二、Nginx网站访问4xx/5xx错误、Nginx网站访问403错误
1、检查网站目录的文件权限,Nginx是否有权限读写网站文件。
站点目录可以通过nginx配置文件,查看文件中<location>下的信息,确认站点目录。
cat /etc/nginx/nginx.conf
执行命令查看站点目录/var/www/html/(替换为您查询到的站点目录) 的权限,一般权限为755。
stat /var/www/html/
执行命令,查看站点目录里边网站文件的权限,一般权限为644。
ls -l /var/www/html/
2. 检查nginx配置文件,查看站点目录是否设置了拒绝访问。
CentOS/Alinux系统默认配置文件。
/etc/nginx/conf/httpd.conf
/etc/nginx/vhosts/*.conf
查看配置文件中<location> 部分的配置,是否配置了 Deny *** 拒绝访问。
检查网站首页文件是否存在。
CentOS/Alinux系统中,查看配置文件nginx.conf 中 <location> 配置的index,默认首页一般为 index.html 或者index.php。
Nginx网站访问404错误
检查Nginx配置文件中vhosts部分站点目录配置是否正确,域名绑定是否正确。
CentOS/Alinux系统默认配置文件。
/etc/nginx/conf/httpd.conf
/etc/nginx/vhosts/*.conf
检查网站目录中的程序文件是否存在。
配置文件中 root 设置的站点目录,检查相关目录中是否存在首页文件。
如果使用vhosts配置多个站点,查看vhosts站点对应的 root 站点目录,检查相关目录中是否存在首页文件。
3、Nginx网站访问5xx错误
查看Nginx的错误日志,根据错误信息分析排查。
执行命令查看错误日志。
less /var/log/nginx/error_log #CentOS/Alinux系统
检查Nginx配置文件中的是否有rewrite配置,检查配置是否正确。
检查网站目录的权限是否正常,一般权限为755。
站点目录默认为/var/www/html/ 。
执行命令查看站点目录/var/www/html/ 的权限。
stat /var/www/html/
开启php的详细错误日志,查看php程序错误信息。
修改 php.ini 配置文件,添加如下配置开启详细日志输出。
display_errors = Off
error_reporting = E_ALL | E_STRICT
执行命令重启Nginx,然后访问php页面查看错误。
systemctl restart nginx #CentOS/Alinux系统
常见错误排查。
Nginx 502可以参考:网站报“Nginx 502 bad gateway”错误的解决方法 及 使用Nginx进行访问网页出现“502”和“connect upstream time out”报错。
三、Nginx网站访问卡慢排查
1、检查服务器性能
主要检查公网带宽、cpu使用率,磁盘IOPS性能。
2、查看Nginx错误日志,是否有错误信息
执行命令查看Nginx错误日志,操作命令如下:
less /var/log/nginx/error_log #CentOS/Alinux系统
3、检查确认异常卡慢页面
分别检查静态页面,数据库调用页面,如果是数据库调用页面卡慢,可以检查下数据库是否有慢SQL等数据库异常情况。如果所有页面都卡慢,检查下主机负载情况,如带宽、cpu、内存、磁盘IO等情况。
四、Nginx\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\PHP\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\运行异常修复
1、Nginx服务运行检查
重启Nginx服务。
systemctl restart nginx #CentOS/Alinux系统
查看Nginx错误日志,根据错误日志具体分析。
2、执行命令,查看Nginx错误日志。
less /var/log/nginx/error_log #CentOS/Alinux系统
五、PHP运行异常检查方法
开启php详细错误信息。
修改php.ini 配置文件,添加如下配置开启详细日志输出。
display_errors = Off
error_reporting = E_ALL | E_STRICT
执行命令重启nginx。
systemctl restart nginx #CentOS/Alinux系统
访问php页面,根据详细php错误信息分析排查。
原创文章出自:百恒网络 如转载请注明出处!专业,专注于南昌APP开发,为用户提供高品质的网络产品及优质服务是我们始终追求的目标!
希望本文对广大研发人员或从事企业网站建设公司的团队有所帮助,如对此不太理解的,可以与南昌网络公司百恒网络技术部联系。我们很高兴与广大研发人员和从事企业网站建设公司技术人员分享我们的技术和经验。