主题
Nginx在Linux系统上的安装和部署
课程介绍
接下来我们学习Nginx的安装部署。Nginx是高性能的Web服务器和反向代理服务器,比Apache性能更高,适合做静态资源服务。Rocky Linux 9需要配置dnf仓库来安装Nginx。安装后用systemctl start nginx启动服务,默认监听80端口。Nginx可以用来托管静态网站,也可以做反向代理和负载均衡,是Web服务器的首选工具。
1. Nginx简介
1. 1 什么是Nginx
Nginx是一个高性能的HTTP和反向代理Web服务器,同时也可以提供IMAP、POP3、SMTP等服务。
1. 2 Nginx的主要功能
- Web应用程序的托管平台
- 将用户开发的Web应用程序转换为可访问的网站服务
- 作为流量代理服务器控制流量中转
- 提供负载均衡和反向代理功能
- 支持高并发访问
1. 3 Nginx的应用场景
- Web服务器:替代Apache提供静态资源服务
- 反向代理:为后端应用提供负载均衡
- API网关:管理API请求流量
- 静态资源缓存:提高网站访问速度
2. 安装前准备
2. 1 系统环境
- 操作系统:Rocky Linux 9
- 权限要求:需要root权限
2. 2 安装方式
- 使用dnf命令安装
- 需要额外配置dnf仓库(系统默认仓库不含Nginx)
3. Nginx安装
3. 1 安装dnf依赖程序
bash
dnf install -y dnf-utils3. 2 配置Nginx的dnf仓库
3. 2.1 查看当前dnf仓库配置
bash
# 进入dnf仓库配置目录
cd /etc/dnf.repos.d/
# 查看现有仓库配置文件
ls -la *.repo3. 2.2 创建Nginx仓库配置文件
bash
# 使用vi编辑器创建nginx.repo文件
vi /etc/dnf.repos.d/nginx.repo在文件中添加以下内容:
ini
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/rocky/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/rocky/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true3. 3 安装Nginx
bash
dnf install -y nginx说明:安装过程会自动下载并安装Nginx及其依赖程序
4. Nginx服务管理
4. 1 查看Nginx状态
bash
systemctl status nginx4. 2 启动Nginx服务
bash
systemctl start nginx4. 3 设置Nginx开机自启
bash
systemctl enable nginx4. 4 停止Nginx服务
bash
systemctl stop nginx4. 5 重启Nginx服务
bash
systemctl restart nginx状态)
5. 防火墙配置
5. 1 验证Nginx端口
bash
# 检查80端口是否被Nginx占用
ss -anp | grep 80预期输出:显示Nginx进程正在监听80端口
5. 2 配置防火墙规则
5. 2.1 方式一:放行80端口
bash
# 放行80端口
firewall-cmd --permanent --add-port=80/tcp
# 重新加载防火墙规则
firewall-cmd --reload5. 2.2 方式二:关闭防火墙(仅适用于测试环境)
bash
# 停止防火墙服务
systemctl stop firewalld
# 禁用防火墙开机自启
systemctl disable firewalld安全提示:生产环境不建议关闭防火墙,应使用方式一配置具体规则
6. 1 通过浏览器访问Nginx
在浏览器中访问Nginx服务器:
http://[服务器IP]说明:80端口是HTTP协议的默认端口,浏览器地址栏中可以省略不写
如果看到Nginx默认页面,表示安装成功

6. 2 验证Nginx版本
bash
nginx -v预期输出:显示Nginx的版本信息
6. Nginx与Tomcat的区别
| 特性 | Nginx | Tomcat |
|---|---|---|
| 主要功能 | HTTP服务器、反向代理、负载均衡 | Servlet容器、JSP支持 |
| 性能 | 更高(静态资源处理能力强) | 适中(动态资源处理能力强) |
| 并发能力 | 更强(支持数万并发连接) | 一般(支持数千并发连接) |
| 配置复杂度 | 简单 | 相对复杂 |
| 适用场景 | 静态网站、反向代理、负载均衡 | Java Web应用程序托管 |
7. 常见问题与解决方案
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| dnf安装Nginx失败 | 仓库配置错误 | 检查nginx.repo文件内容是否正确 |
| Nginx无法启动 | 端口被占用或配置错误 | 使用lsof -i:80检查端口占用,查看错误日志/var/log/nginx/error.log |
| 浏览器无法访问Nginx | 防火墙限制或网络配置问题 | 配置防火墙规则或关闭防火墙,检查网络连接 |
| Nginx默认页面不显示 | Nginx配置错误或服务未启动 | 检查Nginx配置文件和服务状态 |
课程总结
这节课我们学了Nginx的安装和部署。
安装步骤:
- 配置yum/dnf仓库
dnf install nginx- 安装Nginxsystemctl start nginx- 启动服务systemctl enable nginx- 开机自启
防火墙配置: firewall-cmd --permanent --add-service=http - 开放HTTP firewall-cmd --reload - 重载配置
Nginx是高性能的Web服务器,默认监听80端口,适合做反向代理和静态文件服务。
课后练习
- 基础练习:在Linux系统上成功安装Nginx
- 进阶练习:
- 配置Nginx开机自启
- 修改Nginx默认端口号
- 部署一个简单的静态网站到Nginx
- 挑战练习:配置Nginx作为Tomcat的反向代理服务器