详细内容
当前位置 首页 >> 技术文档 >> linux >> 正文
CentOS7用nginx部署网站的方法
发布日期:2024-04-17     点击:103     字体:[ ]

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


用户评论
昵称 
内容  *
验证码   
   
Copyright © 2010 zdbase.com All Rights Reserved. 苏ICP备15039389号 可人软件设计