环境
ubuntu 16.04.3 lts
自己弄了个学习的demo,搭建了vue elementui spring boot 前后端分离。将项目部署到服务器上面。装好nginx,为了避免冲突,将端口改为了8001,启动nginx,发现访问不了!
查找问题所在
1、先查看nginx配置是否正确
nginx -t #查看nginx配置是否正确 也可以切换到nginx的安装目录下的sbin目录下,执行: ./nginx -t
2、查看nginx是否启动成功
ps -ef | grep nginx #查看nginx端口
执行后发现nginx配置没问题,且启动成功了!那么,我预感到是端口没开放,因为用的是阿里云的服务器,需要先配置安全组。
3、配置阿里云安全组,即放开对应的端口,让其他可以访问
nginx里面我配置的端口8001,故这里放开8000-9000范围的端口。但是访问还是不行,那应该是服务器自身没有放开8001这个端口。
4、检查服务器对应的端口是否放开
(1)检查防火墙是否开启
sudo ufw status # 如果输出:status: inactive 说明防火墙已经关闭,按理说端口应该都是开放的,用自己的主机连接远程服务器都是可以的
可以关闭防火墙,放开所有端口,执行下面的命令
ufw disable #关闭防火墙 ufw enable # 开启防火墙
(2)如果为了安全性,开启了防火墙,可以单独放开某一个端口
查看端口是否开放
telnet ip port # telnet 59.110.155.32 8001
我在阿里云服务器测试,结果如下:
上图显示端口8001未放开,端口8080放开;
ps:
查看开放的所有端口
命令一
netstat -a # 查看所有服务端口
命令二
nmap ip地址 # 如:nmap 127.0.0.1
很多时候 telnet 完就无法退出了,ctrl c 有时也无法退出;
这个时候先执行:ctrl ] 然后在telnet 命令行输入 quit 就可以退出了。
放开端口,让其他主机可以访问。
以上所有都成功了的话,一定是可以访问的哈!