1.yum命令直接安装


yum install nginx

系统提示:

No package nginx available.
Error:Nothing to do

说明nginx没有在源镜像库里,加入nginx源

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm


再安装nginx就没问题了

yum install -y nginx

然后启动nginx,设置开机自启动

systemctl start nginx
systemctl enable nginx


2.nginx启动后访问浏览器发现无法访问

有两个可能,nginx服务启动失败(可能是端口占用,可能是配置错误),防火墙拦截了。


检查服务端服务是否启动成功

[root@xxxxxx html]# ps -ef |grep nginx  #查看nginx服务是否启动

root       1609      1  0 16:46 ?        00:00:00 nginx: master process nginx nginx      1610   1609  0 16:46 ?        00:00:00 nginx: worker process root       1898   1593  0 18:09 pts/0    00:00:00 grep nginx

发现是在运行的

检查80端口

netstat -lnt |grep 80

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN

80端口正在被nginx监听


在服务器上访问

curl 127.0.0.1
wget 127.0.0.1

都可以访问,nginx服务没问题


检查防火墙

由于CentOS 7默认使用的是firewall作为防火墙,检查服务器用的是iptables防火墙还是firewall

service iptables status

提示找不到iptables服务

检查firewall状态

firewall-cmd --state
running


测试环境可以关闭firewall一劳永逸

firewall-cmd --stop

生产环境添加端口白名单

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

另外还有要考虑selinux的权限问题,多数安装的文章上来就关闭selinux,我因为是测试环境root权限,无所谓关不关,如果是生产环境,和防火墙一样需要配置,切不可一关了之


参考文章:

https://www.cnblogs.com/UnixAgain/p/3500743.html