Nginx在CentOS9上的配置

本文介绍了如何在Linux系统中安装Nginx并配置反向代理,以连接到uWSGI服务器。同时,详细阐述了如何处理因Selinux权限问题导致的Nginx启动失败,提供了两种解决方案,包括临时和永久关闭Selinux,以及通过修改策略允许Nginx白名单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装Nginx(详细略)

yum install nginx

配置Nginx反向代理(详细略)

#反代理模式
upstream uwsgi{
        server 127.0.0.1:9090; #uwsgi运行地址
    }

server {
    listen       8000;  #对外开放的端口
    server_name  SHZJS036;
    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;
    location / {
        #include /usr/local/nginx/conf/uwsgi_params
        proxy_pass http://uwsgi; # 通过反向代理和uWSGI服务器关联
        }
    location /static {
        root /www_bs/static; #静态文件放置路径
        }
    }

Nginx启动、关闭

  • 一次性启动:
systemctl start nginx.service
  • 一次性停止:
systemctl stop nginx.service
  • 一次性重启:
systemctl restart nginx.service

Nginx开机自启

开机启动:
	systemctl enable nginx
	
关闭开机启动:
	systemctl disable nginx

Selinux限制解除

当出现nginx无法启动,并在systemctl status nginx.service中如下错误时候:
nginx: [emerg] bind() to 0.0.0.0:8000 failed (13: Permission denied)
****

方法一:停止整个Selinux

getenforce:查看当前是否开启 selinux;输出 disabled 或 permissive 为关闭;输出 enforcing 为开启

  1. 临时关闭 selinux
    setenforce 0:设置 SELinux 成为 permissive 模式
    setenforce 1:设置 SELinux 成为 enforcing 模式

  2. 永久关闭 selinux
    vim /etc/selinux/config 文件,将 SELINUX=enforcing 改为 SELINUX=disabled

    systemctl restart nginx

方法二:不停止selinux,单独开放Nginx,允许nginx 白名单。

yum install policycoreutils-python
cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
semodule -i mynginx.pp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值