nginx正常启动却无法访问网页

有一次线上的nginx突然故障,重启nginx之后可以访问很小一段时间,然后又不能访问,检查各种配置都没有问题,而且是负载均衡服务器两台竟然都不能访问,所以记录下此次调试过程,以供将来借鉴。

1. 检查nginx的状态

    - sudo service nginx status

    - 如果是压缩包安装的,确定nginx启动之后使用 whereis nginx  或者 ps -ef | grep nginx  或者 sudo find / -type f -name nginx.conf

2. 检查nginx错误日志,在配置文件中查看日志路径

    - 根据错误日志提示的内容排查问题,如果日志没有问题

    - 检查nginx配置文件, /usr/sbin/nginx -t

    - 可以使用 ll /usr/sbin/nginx 查看用户权限

    - 如果没有问题会出现两条提示

nginx -t

    - 如果配置也没问题

3. 检查SSL证书是否异常(如果有)

    - 这个几率一般很小,操作起来比较简单,把SSL配置对应的代码注释掉然后reload试下

nginx.conf

4. 检查端口是否释放和防火墙

    - 在nginx部署服务器执行,查看是否可以访问

        - curl localhost:80

        - 如果可以,但是外网不能访问

    - 查看80端口是否被开放 

        sudo netstat -ntlp | grep 80

        如果也开放了,阿里云的话需要检查下安全组配置

        如果阿里云配置也正确,检查防火墙

    - service iptables status  查看防火墙状态

    - service firewalld status   查看防火墙状态

        调试阶段防火墙可以简单粗暴的关闭

        生产环境可以使用

            - sudo iptables -t filter -A INPUT -s 0.0.0.0 -d 你的ip -p tcp --dport 9200 -j ACCEPT

            - sudo iptables -t filter -A INPUT -s 你的ip -d 0.0.0.0 -p tcp --dport 9200 -j ACCEPT

5. 如果都没有没问题,nginx还是访问不了,建议重启服务器

    当时重启服务器之后nginx就恢复正常了

    猜想应该和阿里云的配置有关系,两台服务器同时做了配置操作,否则不应该两台负载均衡服务器同时无法访问

接下里的是一些建议,如果重启之后还不行,可以考虑重装nginx,线上不建议

如果重装还不行,找个大佬来吧

原文连接:https://www.notion.so/6-BUG-234897a91f6049d88f634e13376a4f8b

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。