我是用的阿里云的服务器,所以我的问题就在于阿里云服务器必须单独开端口,在找到这个问题之前,我已经把所有能试的方法试过了一遍都没有问题,在增加端口之后直接成功了,如果你也遇到了这样的问题,就和我一起排除吧!(如果你也是阿里云服务器,直接划到博文最后看最终方案即可)
问题图如下,访问网页无效
方案一:是否启动成功 |
[root@iZ2zeii2ibu8vy8dafd06xZ nginx-1.10.0]# nginx -t
如下图就是配置文件语法没有问题
重新启动(每次修改配置文件都要重新启动)
[root@iZ2zeii2ibu8vy8dafd06xZ nginx-1.10.0]# nginx -s reload
然后查看是否有Nginx进程
[root@iZ2zeii2ibu8vy8dafd06xZ leyou]# ps -ef | grep nginx
如下图有三个进程就是启动成功了
方案二:防火墙是否关闭,端口是否开放 |
防火墙
linux不同版本防火墙是不同的
一般linux 6.5 关于防火墙的命令如下
查看防火墙状态
service iptables status
暂时关闭防火墙
service iptables stop
linux 7.0以上默认安装firewalld
查看状态
systemctl status firewalld或者 firewall-cmd --state
下图为关闭状态
停止并禁用开机启动
systemctl disable firewalld
禁用防火墙
systemctl stop firewalld
启动防火墙
systemctl start firewalld
设置开机启动
systemctl enable firewalld
重启防火墙
firewall-cmd --reload
端口
因为Nginx我配置的是80端口,所以只要检查80端口是否开放即可
netstat -lnt | grep 80
如下图,80端口是开放的
最终方案:阿里云服务器端口 |
网络安全–>安全组–>配置规则
单击添加安全组规则
很明显没有配置80端口的规则,所以外网不能访问80端口的Nginx,按照如下内容添加即可
出方向也如上图配置一遍,即可访问
补充一下(来自评论区的同道的遗漏情况)
1.启动成功,配置文件正确,80端口开放的,没有启动防火墙,开放80端口的还需要检查端口是否备案
1、固定IP地址(开通80端口)不一定要先有域名,没有域名也可以访问的。
2、正规网站一般为了便于访问才申请域名。
3、网站按规定需要备案,就是你看到一些正规网站底部有个类似于【京ICP证030173号】,就是备案过的。
2. 腾讯服务器centos7上面防火墙的特殊设定
https://cloud.tencent.com/document/product/213/17403