CentOS 使用 yum 方式安装 Nginx
文章目录
- CentOS 使用 yum 方式安装 Nginx
- 1、Nginx 安装
- 前提条件
- 步骤 1:更新系统软件包
- 步骤 2:查看 Nginx 相关的软件包
- 步骤 3:安装 Nginx
- 步骤 4:启动并启用 Nginx
- 步骤 5:验证 Nginx 是否安装成功
- 步骤 6:配置防火墙(如果适用)
- 步骤 7:测试 Nginx 配置
- 2、配置示例
1、Nginx 安装
前提条件
- 一台运行 CentOS 7 或 CentOS 8 的服务器
- 拥有
root
用户或具有sudo
权限的用户访问权限
步骤 1:更新系统软件包
在开始安装之前,建议更新系统上的所有软件包:
sudo yum update -y
执行示例
# 执行示例
[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 相关的软件包
yum list | grep nginx
执行示例:
[root@VM-12-15-centos ~]# yum list | grep nginxcollectd-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:
sudo yum install nginx -y
执行示例:
[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 knginx-filesystem noarch 1:1.20.1-10.el7 epel 24 kopenssl11-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 服务,并设置为开机自启:
# 启动 Nginx 服务
sudo systemctl start nginx
# 设置 Nginx 服务为开机自启
sudo systemctl enable nginx
执行示例:
[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 相关文件
rpm -ql nginx
执行示例:
[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 流量通过:
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 配置文件进行任何更改后,建议测试配置文件的正确性:
sudo nginx -t
如果输出显示 syntax is ok
和 test is successful
,则说明配置文件没有问题。
2、配置示例
server {listen 80;server_name xxx.com;# 将 HTTP 请求重定向到 HTTPSlocation / {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