原已部署网站无法访问,问题排查以及通过ngnix解决过程

背景

公司让研究可视化方案superset, metabase,我就在公司的内网服务器中,安装python,java,docker环境啊,在服务于器上一顿操作后,最后由于内网环境中很多安装包无法下载,放弃了。隔了几天居然发现原来部署在服务器上的静态页面的网站居然都无法访问了。万幸是开发环境, 没有造成事故。接下来我来说明一下,我排查的过程。

步骤

检查端口是否通

  • cmd, 进入命令行管理工具
  • 输入telnet 172.22.2.20 8003 命令(根据自己的实际情况,修改ip和端口号)

注:如果报telnet不是内部或外部命令,解决方式如下链接:https://jingyan.baidu.com/article/7c6fb428d60c6e80642c90ee.html,不同系统可能会有差异,请自行解决一下。

发现端口不通后,开通端口

  • 端口不通示例图形式如下:
    原已部署网站无法访问,问题排查以及通过ngnix解决过程
  • 登陆服务器,查看端口开通情况

可以参考此地址的下的相关命令:https://www.cnblogs.com/rh-fernando/p/11340057.html

  • 查看开启端口:netstat -ntlp 或:firewall-cmd --list-ports 在此命令下查看端口,发现确实无8016端口
    原已部署网站无法访问,问题排查以及通过ngnix解决过程

开启端口号(可以通单个端口或者多个端口),具体命令可见上面文档中介绍,这里我就开启多个端口号了,免得以后还要开通,哈哈哈

  • 开启多个端口号 firewall-cmd --zone=public --add-port=8016-8020/tcp --permanent
    注:开启端口好,务必重启防火墙,命令是systemctl restart firewalld.service,再次查看端口列表才能看到设置的结果哦
    原已部署网站无法访问,问题排查以及通过ngnix解决过程

重新安装ngnix,配置文档,重新启动

端口号也开了,发现页面是还无法访问, 应该是根本服务根本没有启动,故重新安装了ngnix

  • ngnix 安装过程参考地址:https://www.runoob.com/linux/nginx-install-setup.html 这个就够用了
  • 在安装好后,重新命令 /usr/local/webserver/nginx/sbin/nginx -s reopen (安装目录你们自己的就行)报了错,类似如下图:
    原已部署网站无法访问,问题排查以及通过ngnix解决过程
  • 使用nginx -c的参数指定nginx.conf文件的位置, 我的命令是/usr/local/webserver/nginx/sbin/nginx -c /usr/local/webserver/nginx/conf/nginx.conf

隐约还记得杀了端口的进程,kill -9 lsof -i :8003 |grep nginx |grep -v grep|awk ‘{print $2}’,可能是ngnix一直无法启动的缘故

  • 找到ngnix安装目录 whereis ngnix,找到安装目录,对ngnix 进行配置
    原已部署网站无法访问,问题排查以及通过ngnix解决过程
    我们重点关注一下,端口,服务器,html 目录位置,路由转发,详细的解释可以参考地址:
    https://www.runoob.com/w3cnote/nginx-setup-intro.html
    示例ngnix配置如下:
server
  {
    listen 80;#监听端口
    server_name localhost;#域名
    index index.html index.htm index.php;
    root /usr/local/webserver/nginx/html; #站点目录
    location /service-jxapp/
    {
        proxy_pass https://javaws01-srv.juneyaoair.com;
        proxy_set_header Host $host:$server_port;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$
    {
      expires 30d; # access_log off;
    }
    location ~ .*\.(js|css)?$
    {
      expires 15d; # access_log off;
    }
    access_log off;
  }
可以配置多个server对象
  • 重启 Nginx /usr/local/webserver/nginx/sbin/nginx -s reopen 执行命令即可了

3条重要命令

/usr/local/webserver/nginx/sbin/nginx -s reload            # 重新载入配置文件
/usr/local/webserver/nginx/sbin/nginx -s reopen            # 重启 Nginx
/usr/local/webserver/nginx/sbin/nginx -s stop              # 停止 Nginx
上一篇:17.2 SourceInsight批量注释


下一篇:《sourceinsight中快捷键》