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

相关推荐
vvw&10 分钟前
如何在 Ubuntu 22.04 上安装 Caddy Web 服务器教程
linux·运维·服务器·前端·ubuntu·web·caddy
likeyou~coucou11 分钟前
Linux中SSH服务(二)
linux·运维·ssh
A charmer1 小时前
Linux 进程入门:带你走进操作系统的核心地带(1)
linux·运维·服务器
金增辉1 小时前
Linux 虚拟机与windows主机之间的文件传输--设置共享文件夹方式
linux·运维·服务器
爬楼的猪3 小时前
Ubuntu Bash工具
linux·ubuntu·bash
928-y3 小时前
CentOS离线安装gcc环境(附安装包+图文并茂)
linux·运维·centos
东华果汁哥4 小时前
【centos8 ES】Elasticsearch linux 龙晰8操作系统安装
linux·elasticsearch·jenkins
CHANG_THE_WORLD4 小时前
Linux 基础 6.进程
java·linux·运维
dessler4 小时前
Docker-日志&存储(volume)
linux·运维·docker