前言
服务器:阿里云服务器 Ubuntu 16.04.3 LTS
自己弄了个学习的demo,搭建了vue + elementui + spring boot 前后端分离。将项目部署到服务器上面。
装好nginx,为了避免冲突,将端口改为了8001,启动nginx,发现访问不了!
查找问题
1.先查看nginx配置是否正确
执行下面的命令:
nginx -t #查看nginx配置是否正确 也可以切换到nginx的安装目录下的sbin目录下,执行: ./nginx -t1
2.查看nginx是否启动成功
ps -ef | grep nginx #查看nginx端口1
我先执行了1,2,发现nginx配置没问题,且启动成功了!那么,我预感到是端口没开放,因为用的是阿里云的服务器,需要先配置安全组。
3.配置阿里云安全组,即放开对应的端口,让其他主机可以访问
ps:nginx里面我配置的端口8001,故这里放开8000-9000范围的端口。但是访问还是不行,那应该是服务器自身没有放开8001这个端口。
4.检查服务器对应的端口是否放开
4.1检查防火墙是否开启
然后怀疑是防火墙问题:
RHEL7 中使用了firewalld代替了原来的iptables,操作设置和原来有点不同:
查看防火墙状态: systemctl status firewalld 或者 systemctl is-active firewalld 启动防火墙: systemctl start firewalld 停止防火墙: systemctl stop firewalld 永久停用: systemctl disable firewalld 启用防火墙: systemctl enable firewalld
我选择关闭防火墙,然后重启tomcat服务,再次访问,发现还是不行。
其次怀疑是端口被占用:
修改tomcat/conf/server.xml,将8080端口号改为8090,重启服务,发现可以正常访问。
**那么**8080端口号被谁占用了呢?
使用netstat –apn | grep 8080,查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name 。
oracle 22725 oracle9i 3u IPv4 18621468 TCP RHEL3:6800 (LISTEN) oracle 22725 oracle9i 4u IPv4 18621469 TCP RHEL3:6800->RHEL3:2174 (CLOSE_WAIT) oracle 22725 oracle9i 8u IPv4 18621568 TCP RHEL3:6800->RHEL3:2175 (CLOSE_WAIT) oracle 22725 oracle9i 9u IPv4 18621578 TCP RHEL3:6800->RHEL3:2176 (CLOSE_WAIT) oracle 22726 oracle9i 3u IPv4 18621468 TCP RHEL3:6800 (LISTEN) oracle 22726 oracle9i 4u IPv4 18621469 TCP RHEL3:6800->RHEL3:2174 (CLOSE_WAIT) oracle 22726 oracle9i 8u IPv4 18621568 TCP RHEL3:6800->RHEL3:2175 (CLOSE_WAIT) oracle 22726 oracle9i 9u IPv4 18621578 TCP RHEL3:6800->RHEL3:2176 (CLOSE_WAIT)
(1)查看开放的所有端口
命令一 netstat -a # 查看所有服务端口
命令二 nmap + ip地址 # 如:nmap 127.0.0.1
(2)很多时候 telnet 完就无法退出了,ctrl+c 有时也无法退出;
这个时候先执行:ctrl+] 然后在telnet 命令行输入 quit 就可以退出了
4.2.2.放开端口,让其他主机可以访问:
请查阅该篇博客:linux端口开放指定端口的两种方法
总结;一起学习的可以后台私信“资料”送相关学习资料可以一起学习交流大家也可以关注一下,记得后台私信“资料”送学习视频需要C/C++ Linux服务器架构师学习资料后台私信“资料”(资料包括C/C++,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,ffmpeg等等。。。),免费分享