1.安装nginx
设置安装源
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
执行命令
yum install -y nginx
启动
nginx 或systemctl start nginx
2.防火墙
放开端口,例如8080
firewall-cmd --add-port=8080/tcp --permanent
3.nginx绑定其他端口提示绑定失败,80端口可以
类似这种[emerg] bind() to 0.0.0.0:8080 failed (13: Permission denied)
一般情况是SELinux安全端口里没加入,把端口加入即可,以8080为例,
检查SELinux允许的HTTP端口列表:
semanage port -l | grep http_port_t
如果端口8080不在列表中,使用以下命令将其添加到SELinux允许的HTTP端口列表:
semanage port -a -t http_port_t -p tcp 8080
重新加载nginx
如果没有semanage命令,安装一下
[root@localhost ~]# yum provides semanage
按照搜索结果安装对应包即可解决
[root@localhost ~]# yum install -y policycoreutils-python
4.访问时nginx报错,类似 open() "/var/www/html/esms/favicon.ico" failed (13: Permission denied)
修改SELinux安全上下文
查看SELinux状态
运行命令getenforce,验证SELinux状态。
返回状态如果是enforcing,表明SELinux已开启。
执行 chcon -t httpd_sys_content_t -R <资源目录> 修改 安全上下文
例如: chcon -t httpd_sys_content_t -R /home/path/site
常用命令:
# 进入nginx的执行目录
cd /usr/local/nginx/sbin,如果加入到PATH后则不用再进入该目录
# 启动nginx
./nginx
# 停止nginx(强制停止)
./nginx -s stop
# 退出nginx(安全退出)
./nginx -s quit
# 重新加载配置文件(修改过配置文件后使用)
./nginx -s reload
# 防火墙相关命令
# 关闭防火墙
systemctl stop firewalld
# 开启防火墙
systemctl start firewalld
# 查看防火墙状态
systemctl status firewalld
# 查看防火墙规则
firewall-cmd --list-all
# 查询端口是否开放
firewall-cmd --query-port=80/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 关闭80端口
firewall-cmd --permanent --remove-port=8080/tcp
# 重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload