CentOS 9 (stream) 安装 nginx

1.我们直接使用安装命令

复制代码
dnf install nginx

2.安装完成后启动nginx服务

复制代码
# 启动
systemctl start nginx 

# 设置开机自启动
systemctl enable nginx

# 重启
systemctl restart nginx

# 查看状态
systemctl status nginx

# 停止服务
systemctl stop nginx

3.查看版本确认安装成功

复制代码
nginx -v

4.配置防火墙

复制代码
# 您需要同时打开 HTTP (80) 和 HTTPS (443) 端口:
firewall-cmd --permanent --zone=public --add-service=http 

firewall-cmd --permanent --zone=public --add-service=https 

# 刷新防火墙配置
sudo firewall-cmd --reload
  • Nginx 配置目录: /etc/nginx
  • Nginx 根目录: /usr/share/nginx/html
  • 主/全局配置文件: /etc/nginx/nginx.conf

访问服务地址可以看到nginx初始页面:

配置nginx正向代理和服务器反向代理

直接编辑 /etc/nginx/nginx.conf 的配置文件

主要配置的内容包括 监听端口 80

服务名 你自己的ip或者域名

复制代码
 server {
        listen       80;                    #监听端口
        listen       [::]:80;
        server_name  192.168.252.131;        #服务器地址 域名或者ip
       # root         /usr/share/nginx/html;
        
        location / {                        # 正向代理
            root   /opt/static/dist/;        # 我这里是前端打包的静态资源路径存放位置
            index  index.html index.htm;
        }
        location /api/  {                    # 反向代理 api 是我后台项目访问前缀 
           proxy_pass http://192.168.252.131:8081/api/;  # 会把上面 /api/ 转成 http://192.168.252.131:8081/api/  进行访问
        }
        

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
    }

这里配置完之后正常来说是可以访问了,但是centos9系统默认开启了 selinux

查看nginx日志可发现代理报错 ,代理不过去 无法访问后台接口

科普一下 selinux:

SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。

主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。

说白了 就是我们系统上配置的 nginx 被 selinux拦截了 ,所以一直代理不过去

centos9默认是开启的,其他版本请自行查阅:可通过命令查看selinux是否开启:

复制代码
sestatus

显示 :enable 说明是开启的

我们可以通过更改系统配置永久关闭:

复制代码
vim /etc/sysconfig/selinux

然后更改里面的参数:

SELINUX=enforcing 改为 SELINUX=disabled

然后保存退出,需要重启服务器:reboot 命令可以重启服务器

这样我们再重启nginx即可正常代理服务

相关推荐
Linux-lucky17 分钟前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
禁默34 分钟前
启元 Q1 二次开发实践:Ubuntu 部署与仿真验证,从 PrimeConsole 到 ROS 2 Humble + RViz
linux·运维·ubuntu
skywalk81631 小时前
把 去也网站 从 Ubuntu 搬到 FreeBSD:一次 Service Jail + nginx 的部署实录
linux·运维·nginx·ubuntu·freebsd
爱莉希雅&&&3 小时前
GitLab 完整学习笔记
linux·运维·服务器
风笙9783 小时前
[文件系统]文件系统挂载与卸载详解
linux
GeW4 小时前
新质生产力路线图解读:数据库性能优化与Linux调优专场
linux·数据库
陈希1235 小时前
Linux 服务器性能排查手册(2026):CPU、内存、磁盘IO、网络四大瓶颈定位
linux·服务器·网络
测试界的小码农8 小时前
【Linux 命令实战(03):文件创建、复制、移动与删除,掌握 touch、mkdir、cp、mv、rm】
linux·服务器·php
没差c9 小时前
winsw将jar、nginx等注册为Windows服务
windows·nginx·jar
byte轻骑兵9 小时前
实战 1:修改 BlueZ 源码,添加自定义开机日志
linux·aiot·bluez·电脑蓝牙·嵌入式蓝牙