端口状态“未使用” 网站无法访问故障排除

前几天断断续续对主题内一些小栏目进行了修改和微调,网站一直正常运行,还连续写了几篇建站的流水账,对网站进行了内容的更新。昨天为了向别人炫耀网站建设成果,就从手机上打开网站给他们看,结果生生悲剧了:网站无法打开了。显示“无法访问此网站”“*****(域名)拒绝了我们的连接请求”,一下子懵了。

于是立即开始在网上疯狂搜索问题原因,寻找解决办法。从搜索的情况看,主要集中在端口是否打开,安全组是否设置等问题。于是主要从这两个方面入手进行检查和故障排除。
一、端口问题
从宝塔面板里看,在“安全”里显示80端口、443端口等一些常用端口均处于“未使用”状态。

使用ping功能,IP和域名都是可以接收和反馈数据包的,但就是显示“拒绝了我们的连接请求)。 于是初步判定原因应该就是是端口问题,通过使用  https://www.dns.com/wangzhanjiance 的网站检测工具进行检测(此式具挺好用,提示的信息非常全面),提示了一些信息:

通过https://www.yougetsignal.com/tools/open-ports/ 查询端口情况。

问题在于,之前网站一直顺畅运行,还更新了几篇文章,也明明安装了SSL证书,怎么端口就无法连通了,SSL也找不到了?
 于是根据网上一些帖子的建议,开始折腾端口问题。尝试了:
 一是关闭了防火墙,不行;
 二是关闭了SSL,又加载了SSL,都不行;
三是到域名网站查看了相关信息,没有需要调整的地方,不行;
二、防火墙和安全组
 部分帖子提到了防火墙和安全组的设置问题,于是又从这里开始排查。
一是到服务器网站,添加了防火墙的安全组(又算学习了一些知识,添加安全组,添加规则,最重要的,是安全组建立后,要将安全组与服务器关联应用),但还是不行。当然,也许这个操作增加网站的安全性。或者其中某些是必要的。只不过对于打开网站还没有效果。
二是使用SSH连接服务器,关闭了防火墙,不行。
 排查工作陷入了停顿。
于是在网上搜索更多的“宝塔放行IP端口”、“端口未使用” 有关的问题分析与解决方法,其中有一篇《宝塔“放行端口:[80] 未使用”原因与解决方法》( https://www.fujieace.com/web/bt-80.html )提到:“宝塔环境安装的是:PHP+Apache + MySQL + phpMyAdmin + FTP,这些都是运行正常的,结果网站居然打不开,项目都运行不起来。当他进入了“宝塔 – 安全 – 防火墙”的时候,出现了如下提示:“放行端口:[80] 未使用“

文中说道:“原因:Apache的问题。例如:Apache未启动,Apache默认端口变了,Apache中途崩溃了,无响应了……等等。“
 文中给出了分析,明确是“Apache的问题”,但没有说明这个分析是系统直接提示的,还是自己分析出来的。
 于是突然想到:刚开始部署的时候,选的是LNMP,没有选LAMP,会不会是NGINX没有启动。于是立即搜索NGINX启动、关闭等相关命令。搜索到一篇相关文章《nginx的启动、停止、重载配置、验证配置》,里面讲到:

 启动nginx系统方式:

       (1)命令

       nginx -c /usr/local/nginx/conf/nginx.conf

       说明:-c 参数指定运行nginx系统的自定义配置文件。

       若加:使用自定义配置文件。实例请参见下文【停止】nginx系统的方式贴图。

       若不加:使用默认的nginx.conf(一般位于/usr/local/conf/nginx.conf,具体以实际情况为准)

第一次使用这个命令后,无反应。又仔仔细细研究了一下,会不会是路径有问题?到宝塔中查看了一下路径,改为自己的路径,重新运行了一下:

nginx -c /路径/nginx.conf

运行成功。于是返回试试能不能打开网站。哇,成功了。

于是又使用命令把NGINX关闭了看情况:

 nginx -s quit

结果关闭的状态就是之前出故障的状态。看来就是这个原因了。
 那么这个问题是如何发生的呢?是什么操作把NGINX关闭了呢?这中间只安装过一次docker,但究竟是什么原因?现在还搞不清楚!

发表评论