概述
本文主要介绍使用阿里云ECS实例搭建Nginx网站时,遇到的一些常见问题的处理方法。
详细信息
阿里云提醒您:
-
如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
-
如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
-
如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
请根据现场实际情况,选择以下对应的解决方案。
Nginx网站无法打开
检查Nginx是否正常启动
登录服务器里执行命令,查看网站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错误
-
检查网站目录的文件权限,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/nginx.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/nginx.conf
-
/etc/nginx/vhosts/*.conf
-
-
-
检查网站目录中的程序文件是否存在。
-
配置文件中 root 设置的站点目录,检查相关目录中是否存在首页文件。
-
如果使用vhosts配置多个站点,查看vhosts站点对应的 root 站点目录,检查相关目录中是否存在首页文件。
Nginx网站访问5xx错误
-
查看Nginx的错误日志,根据错误信息分析排查。
执行命令查看错误日志。
less /var/log/nginx/error_log #CentOS/Alinux系统
-
检查Nginx配置文件中的<server>是否有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网站访问卡慢排查
检查服务器性能
主要检查公网带宽、cpu使用率,磁盘IOPS性能。
查看Nginx错误日志,是否有错误信息
执行命令查看Nginx错误日志。
less /var/log/nginx/error_log #CentOS/Alinux系统
检查确认异常卡慢页面
分别检查静态页面,数据库调用页面,如果是数据库调用页面卡慢,可以检查下数据库是否有慢SQL等数据库异常情况。如果所有页面都卡慢,检查下主机负载情况,如带宽、cpu、内存、磁盘IO等情况。
Nginx\PHP\运行异常修复
Nginx服务运行检查
-
重启Nginx服务。
systemctl restart nginx #CentOS/Alinux系统
-
查看Nginx错误日志,根据错误日志具体分析。
执行命令,查看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错误信息分析排查。