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 ok
和 test 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