我是用的阿里云的服务器,所以我的问题就在于阿里云服务器必须单独开端口,在找到这个问题之前,我已经把所有能试的方法试过了一遍都没有问题,在增加端口之后直接成功了,如果你也遇到了这样的问题,就和我一起排除吧!(如果你也是阿里云服务器,直接划到博文最后看最终方案即可)

问题图如下,访问网页无效
在这里插入图片描述

方案一:是否启动成功
检查Nginx配置文件
[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、网站按规定需要备案,就是你看到一些正规网站底部有个类似于【京ICP030173号】,就是备案过的。

2. 腾讯服务器centos7上面防火墙的特殊设定

https://cloud.tencent.com/document/product/213/17403

重新启动服务器,访问web服务发现无法浏览啦!登陆服务器之后进到nginx使用./nginx -s reload重新读取配置文件,发现报nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)错误,进到logs文件发现的确没有nginx.pid文件   [root@localhost sbin]# ./nginx -s reload   nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2 二、缺少index.html或者index.php文件,就是配置文件中index index.html index.htm这行中的指定的文件。如果在/data/www/下面没有index.php,index.html的时候,直接文件,会报403 forbidden。解决办法:修改web目录的读写权限,或者是把nginx启动用户改成目录的所属用户,重启Nginx即可解决。三、权限问题,如果nginx没有web目录的操作权限,也会出现403错误。1.2将nginx.config的user改为和启动用户一致, 搭建环境的路上困难重重,好像总是会遇到各式各样的问题。在一次又一次的试错中最后成功了。nginx服务启动和端口一切正常,那么就是防火墙的问题。5.在浏览器输入ip地址刷新页面即可成功访问。查看80端口是否被分配给了nginx。确定nginx是否启动成功。 最近在Centos 7 上通过yum 安装完nginx后发现始终访问不到,检查服务也是正常启动的,最后查到是因为80端口没有开发导致 在Centos 7上 开放端口命令如下: sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent sudo firewall-cmd --reload firewall-c... 配置服务器时候发现的问题,真的是搜肠刮肚的找答案,找一下午,终于找到了答案。一、开始找原因在浏览器输入:http://ip,正常的话,会有页面,welcome to nginx 我这里是浏览器访问失败, 查找原因:1、在服务器上访问Ip执行:curl http://ip 结果:超时,未连接成功查看nginxaccess.log日志,发现日志未滚动,代表本机访问不到公网ip2、确认网络是否可达t