CentOS 使用 yum 方式安装 Nginx

CentOS 使用 yum 方式安装 Nginx

文章目录

  • [CentOS 使用 yum 方式安装 Nginx](#CentOS 使用 yum 方式安装 Nginx)
    • [1、Nginx 安装](#1、Nginx 安装)
      • 前提条件
      • [步骤 1:更新系统软件包](#步骤 1:更新系统软件包)
      • [步骤 2:查看 Nginx 相关的软件包](#步骤 2:查看 Nginx 相关的软件包)
      • [步骤 3:安装 Nginx](#步骤 3:安装 Nginx)
      • [步骤 4:启动并启用 Nginx](#步骤 4:启动并启用 Nginx)
      • [步骤 5:验证 Nginx 是否安装成功](#步骤 5:验证 Nginx 是否安装成功)
      • [步骤 6:配置防火墙(如果适用)](#步骤 6:配置防火墙(如果适用))
      • [步骤 7:测试 Nginx 配置](#步骤 7:测试 Nginx 配置)
    • 2、配置示例

1、Nginx 安装

前提条件

  • 一台运行 CentOS 7 或 CentOS 8 的服务器
  • 拥有 root 用户或具有 sudo 权限的用户访问权限

步骤 1:更新系统软件包

在开始安装之前,建议更新系统上的所有软件包:

bash 复制代码
sudo yum update -y

执行示例

bash 复制代码
# 执行示例
[root@VM-12-15-centos ~]# sudo yum update -y
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
docker-ce-stable                               | 3.5 kB  00:00:00     
epel                                           | 4.3 kB  00:00:00     
extras                                         | 2.9 kB  00:00:00     
os                                             | 3.6 kB  00:00:00     
updates                                        | 2.9 kB  00:00:00     
No packages marked for update

步骤 2:查看 Nginx 相关的软件包

bash 复制代码
yum list | grep nginx

执行示例:

bash 复制代码
[root@VM-12-15-centos ~]# yum list | grep nginx

collectd-nginx.x86_64                    5.8.1-2.el7                   epel     
munin-nginx.noarch                       2.0.75-1.el7                  epel     
nginx.x86_64                             1:1.20.1-10.el7               epel     
nginx-all-modules.noarch                 1:1.20.1-10.el7               epel     
nginx-filesystem.noarch                  1:1.20.1-10.el7               epel     
nginx-mod-devel.x86_64                   1:1.20.1-10.el7               epel     
nginx-mod-http-image-filter.x86_64       1:1.20.1-10.el7               epel     
nginx-mod-http-perl.x86_64               1:1.20.1-10.el7               epel     
nginx-mod-http-xslt-filter.x86_64        1:1.20.1-10.el7               epel     
nginx-mod-mail.x86_64                    1:1.20.1-10.el7               epel     
nginx-mod-stream.x86_64                  1:1.20.1-10.el7               epel     
pagure-web-nginx.noarch                  5.13.3-10.el7                 epel     
pcp-pmda-nginx.x86_64                    4.3.2-13.el7_9                updates  
python2-certbot-nginx.noarch             1.11.0-1.el7                  epel     
sympa-nginx.x86_64                       6.2.72-3.el7                  epel

步骤 3:安装 Nginx

使用 yum 命令安装 Nginx:

bash 复制代码
sudo yum install nginx -y

执行示例:

bash 复制代码
[root@VM-12-15-centos ~]# sudo yum install nginx -y
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 nginx.x86_64.1.1.20.1-10.el7 将被 安装
--> 正在处理依赖关系 nginx-filesystem = 1:1.20.1-10.el7,它被软件包 1:nginx-1.20.1-10.el7.x86_64 需要
--> 正在处理依赖关系 libcrypto.so.1.1(OPENSSL_1_1_0)(64bit),它被软件包 1:nginx-1.20.1-10.el7.x86_64 需要
--> 正在处理依赖关系 libssl.so.1.1(OPENSSL_1_1_0)(64bit),它被软件包 1:nginx-1.20.1-10.el7.x86_64 需要
--> 正在处理依赖关系 libssl.so.1.1(OPENSSL_1_1_1)(64bit),它被软件包 1:nginx-1.20.1-10.el7.x86_64 需要
--> 正在处理依赖关系 nginx-filesystem,它被软件包 1:nginx-1.20.1-10.el7.x86_64 需要
--> 正在处理依赖关系 libcrypto.so.1.1()(64bit),它被软件包 1:nginx-1.20.1-10.el7.x86_64 需要
--> 正在处理依赖关系 libprofiler.so.0()(64bit),它被软件包 1:nginx-1.20.1-10.el7.x86_64 需要
--> 正在处理依赖关系 libssl.so.1.1()(64bit),它被软件包 1:nginx-1.20.1-10.el7.x86_64 需要
--> 正在检查事务
---> 软件包 gperftools-libs.x86_64.0.2.6.1-1.el7 将被 安装
---> 软件包 nginx-filesystem.noarch.1.1.20.1-10.el7 将被 安装
---> 软件包 openssl11-libs.x86_64.1.1.1.1k-7.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

===================================================================================================================================================================================================
 Package                                             架构                                      版本                                                  源                                       大小
===================================================================================================================================================================================================
正在安装:
 nginx                                               x86_64                                    1:1.20.1-10.el7                                       epel                                    588 k
为依赖而安装:
 gperftools-libs                                     x86_64                                    2.6.1-1.el7                                           os                                      272 k
 nginx-filesystem                                    noarch                                    1:1.20.1-10.el7                                       epel                                     24 k
 openssl11-libs                                      x86_64                                    1:1.1.1k-7.el7                                        epel                                    1.5 M

事务概要
===================================================================================================================================================================================================
安装  1 软件包 (+3 依赖软件包)

总下载量:2.3 M
安装大小:6.6 M
Downloading packages:
(1/4): gperftools-libs-2.6.1-1.el7.x86_64.rpm                                                                                                                               | 272 kB  00:00:00     
(2/4): nginx-filesystem-1.20.1-10.el7.noarch.rpm                                                                                                                            |  24 kB  00:00:00     
(3/4): openssl11-libs-1.1.1k-7.el7.x86_64.rpm                                                                                                                               | 1.5 MB  00:00:00     
(4/4): nginx-1.20.1-10.el7.x86_64.rpm                                                                                                                                       | 588 kB  00:00:00     
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                                               5.5 MB/s | 2.3 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : 1:openssl11-libs-1.1.1k-7.el7.x86_64                                                                                                                                           1/4 
  正在安装    : 1:nginx-filesystem-1.20.1-10.el7.noarch                                                                                                                                        2/4 
  正在安装    : gperftools-libs-2.6.1-1.el7.x86_64                                                                                                                                             3/4 
  正在安装    : 1:nginx-1.20.1-10.el7.x86_64                                                                                                                                                   4/4 
  验证中      : gperftools-libs-2.6.1-1.el7.x86_64                                                                                                                                             1/4 
  验证中      : 1:nginx-filesystem-1.20.1-10.el7.noarch                                                                                                                                        2/4 
  验证中      : 1:nginx-1.20.1-10.el7.x86_64                                                                                                                                                   3/4 
  验证中      : 1:openssl11-libs-1.1.1k-7.el7.x86_64                                                                                                                                           4/4 

已安装:
  nginx.x86_64 1:1.20.1-10.el7                                                                                                                                                                     

作为依赖被安装:
  gperftools-libs.x86_64 0:2.6.1-1.el7                           nginx-filesystem.noarch 1:1.20.1-10.el7                           openssl11-libs.x86_64 1:1.1.1k-7.el7                          

完毕!

步骤 4:启动并启用 Nginx

安装完成后,启动 Nginx 服务,并设置为开机自启:

bash 复制代码
# 启动 Nginx 服务
sudo systemctl start nginx
# 设置 Nginx 服务为开机自启
sudo systemctl enable nginx

执行示例:

bash 复制代码
[root@iZt4n73aucorwxkkmpj4g8Z ~]# sudo systemctl start nginx
[root@iZt4n73aucorwxkkmpj4g8Z ~]# sudo systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

查看 nginx 相关文件

bash 复制代码
rpm -ql nginx

执行示例:

bash 复制代码
[root@iZt4n73aucorwxkkmpj4g8Z ~]# rpm -ql nginx

# 配置文件目录
/etc/logrotate.d/nginx                    # Nginx日志轮转配置文件
/etc/nginx/fastcgi.conf                   # FastCGI配置文件
/etc/nginx/fastcgi.conf.default           # FastCGI配置文件默认备份
/etc/nginx/fastcgi_params                 # FastCGI参数配置
/etc/nginx/fastcgi_params.default         # FastCGI参数配置默认备份
/etc/nginx/koi-utf                        # 编码转换映射文件
/etc/nginx/koi-win                        # 编码转换映射文件
/etc/nginx/mime.types                     # MIME类型关联配置
/etc/nginx/mime.types.default             # MIME类型关联配置默认备份
/etc/nginx/nginx.conf                     # Nginx主配置文件
/etc/nginx/nginx.conf.default             # Nginx主配置文件默认备份
/etc/nginx/scgi_params                    # SCGI参数配置
/etc/nginx/scgi_params.default            # SCGI参数配置默认备份
/etc/nginx/uwsgi_params                   # uWSGI参数配置
/etc/nginx/uwsgi_params.default           # uWSGI参数配置默认备份
/etc/nginx/win-utf                        # 编码转换映射文件

# 可执行文件目录
/usr/bin/nginx-upgrade                    # Nginx升级工具
/usr/sbin/nginx                           # Nginx主程序

# 系统服务目录
/usr/lib/systemd/system/nginx.service     # Systemd服务配置文件
/usr/lib64/nginx/modules                  # Nginx模块目录

# 文档和帮助文件
/usr/share/doc/nginx-1.20.1               # 文档目录
/usr/share/doc/nginx-1.20.1/CHANGES       # 更新日志
/usr/share/doc/nginx-1.20.1/README        # 说明文件
/usr/share/doc/nginx-1.20.1/README.dynamic # 动态模块说明
/usr/share/doc/nginx-1.20.1/UPGRADE-NOTES-1.6-to-1.10  # 升级说明
/usr/share/licenses/nginx-1.20.1          # 许可证目录
/usr/share/licenses/nginx-1.20.1/LICENSE  # 许可证文件
/usr/share/man/man3/nginx.3pm.gz          # 帮助手册
/usr/share/man/man8/nginx-upgrade.8.gz    # 升级工具帮助手册
/usr/share/man/man8/nginx.8.gz            # Nginx帮助手册

# 网站默认根目录
/usr/share/nginx/html/404.html            # 404错误页面
/usr/share/nginx/html/50x.html            # 50x错误页面
/usr/share/nginx/html/en-US               # 英文页面目录
/usr/share/nginx/html/icons               # 图标目录
/usr/share/nginx/html/icons/poweredby.png # 图标文件
/usr/share/nginx/html/img                 # 图片目录
/usr/share/nginx/html/index.html          # 默认首页
/usr/share/nginx/html/nginx-logo.png      # Nginx Logo
/usr/share/nginx/html/poweredby.png       # Powered by图标
/usr/share/nginx/modules                  # 模块目录

# Vim编辑器支持文件
/usr/share/vim/vimfiles/ftdetect/nginx.vim  # Vim文件类型检测
/usr/share/vim/vimfiles/ftplugin/nginx.vim  # Vim文件类型插件
/usr/share/vim/vimfiles/indent/nginx.vim    # Vim缩进配置
/usr/share/vim/vimfiles/syntax/nginx.vim    # Vim语法高亮

# 运行时目录
/var/lib/nginx                            # Nginx运行库目录
/var/lib/nginx/tmp                        # 临时文件目录

# 日志目录
/var/log/nginx                            # 日志主目录
/var/log/nginx/access.log                 # 访问日志
/var/log/nginx/error.log                  # 错误日志

步骤 5:验证 Nginx 是否安装成功

你可以通过访问服务器的 IP 地址来验证 Nginx 是否正在运行。打开浏览器并输入:

复制代码
http://你的服务器IP地址

如果看到 Nginx 的欢迎页面,则说明安装成功。

步骤 6:配置防火墙(如果适用)

如果你的服务器上启用了防火墙(firewalld),需要允许 HTTP 和 HTTPS 流量通过:

bash 复制代码
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

步骤 7:测试 Nginx 配置

在对 Nginx 配置文件进行任何更改后,建议测试配置文件的正确性:

bash 复制代码
sudo nginx -t

如果输出显示 syntax is oktest is successful,则说明配置文件没有问题。

2、配置示例

bash 复制代码
server {
    listen 80;
    server_name xxx.com;

    # 将 HTTP 请求重定向到 HTTPS
    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl;
    server_name xxx.com;

    ssl_certificate /etc/nginx/ssl/xxx.com.pem;
    ssl_certificate_key /etc/nginx/ssl/xxx.com.key;

    # 启用 SSL 协议并设置强加密套件
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    # 前端项目路径配置
    location / {
        root /usr/share/nginx/modules/apps/lucky-star;
        try_files $uri $uri/ /index.html;
        index index.html index.htm;
    }

    # 后端 API 反向代理配置
    location /api/ {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:9000;
        
        # 添加 CORS 跨域请求头
        add_header Access-Control-Allow-Origin $http_origin;
        add_header Access-Control-Allow-Headers X-Requested-With;
        add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

        # 处理 CORS 预检请求
        if ($request_method = OPTIONS) {
            return 204;
        }
    }
}

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=868rwx60kln

相关推荐
许白掰1 小时前
Linux入门篇学习——Linux 工具之 make 工具和 makefile 文件
linux·运维·服务器·前端·学习·编辑器
longze_75 小时前
Ubuntu连接不上网络问题(Network is unreachable)
linux·服务器·ubuntu
Dirschs5 小时前
【Ubuntu22.04安装ROS Noetic】
linux·ubuntu·ros
qianshanxue115 小时前
ubuntu 操作记录
linux
AmosTian8 小时前
【系统与工具】Linux——Linux简介、安装、简单使用
linux·运维·服务器
这我可不懂10 小时前
Python 项目快速部署到 Linux 服务器基础教程
linux·服务器·python
车车不吃香菇11 小时前
java idea 本地debug linux服务
java·linux·intellij-idea
tan77º11 小时前
【Linux网络编程】Socket - TCP
linux·网络·c++·tcp/ip
kfepiza12 小时前
Linux的`if test`和`if [ ]中括号`的取反语法比较 笔记250709
linux·服务器·笔记·bash
CodeWithMe12 小时前
【Note】《深入理解Linux内核》 第十九章:深入理解 Linux 进程通信机制
linux·运维·php