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即可正常代理服务

相关推荐
Lonely 净土6 小时前
Linux 运维文件写入操作
linux·运维·服务器·文件管理
Jimmy_jimi7 小时前
利用nginx代理完成url重定位
运维·nginx
吠品9 小时前
Wine 在 Linux 上运行 Windows 软件完整指南
java·linux·服务器
深念Y11 小时前
从 Windows 迁移到 Linux 开发环境的记录
linux·windows·链接·bun·ram·imdisk
知无不研12 小时前
Linux I/O复用之epoll
linux·服务器·epoll·socket编程
fb_1234513 小时前
Linux运维封神|SELinux详解+CentOS7启动原理+Root密码重置+开机故障排查实战
linux·运维·服务器
苏宸啊13 小时前
linux网络编程udp服务器和客户端代码编写(echo版本和字典版本)
linux·网络
~|Bernard|14 小时前
Linux 定时任务(Cron)完整教程
linux·运维·服务器
小雪崩14 小时前
嵌入式学习 day25:哈希表及排序与查找
linux·c语言·数据结构·学习·排序算法
深念Y15 小时前
linux桌面快捷方式开关脚本编写中的几个常见坑
linux·运维·服务器·快捷方式·桌面·kde