🚀 Nginx 简介与实用配置指南
Nginx 是一款高性能的 HTTP 和反向代理服务器,也可作为负载均衡器、缓存服务器或邮件代理服务。
它采用异步非阻塞事件驱动架构,特别适合处理高并发的场景,性能优于传统服务器(如 Apache)。
⚙️ 工作原理
Nginx 使用多进程 + 异步事件模型:
- 主进程:接收连接,请求分发
- Worker 进程:并发处理请求(非阻塞)
这种架构让 Nginx 能在极低的资源消耗下,处理成千上万的并发连接,是现代 Web 服务器的核心利器。
💻 安装 Nginx(Ubuntu)
使用 apt 包管理器在线安装:
sudo apt update
sudo apt install nginx
sudo systemctl start nginx
常用命令:
命令 | 作用 |
---|---|
service nginx start | 启动服务 |
service nginx stop | 停止服务 |
service nginx restart | 重启服务 |
nginx -t | 检查配置语法 |
📁 目录结构与配置文件位置
路径 | 说明 |
---|---|
/usr/sbin/nginx | 主程序执行文件 |
/etc/nginx | 主配置目录 |
/etc/nginx/nginx.conf | 主配置文件 |
/etc/nginx/sites-enabled | 虚拟主机配置链接目录 |
/usr/share/nginx | 默认静态文件存放目录 |
/var/log/nginx | 日志存储目录 |
🛠️ 示例配置讲解
一个典型的 Nginx 配置如下:
http {
server {
listen 80;
server_name example.com;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /api {
proxy_pass http://backend-server:8080;
}
}
}
配置说明:
指令 | 说明 |
---|---|
http | HTTP 服务相关配置块 |
server | 定义一个虚拟主机(一个域名或端口) |
listen | 指定监听的端口(如 80) |
server_name | 与访问域名匹配,如 example.com |
location / | 默认路径规则 |
root | 静态文件目录路径 |
index | 默认首页文件(index.html、index.htm) |
location /api | 匹配 /api 前缀的请求 |
proxy_pass | 将请求转发至后端(用于反向代理) |
🎯 小技巧:
- 配置后可使用
nginx -t
检测语法是否正确 - 修改后使用
sudo systemctl reload nginx
平滑重载配置
🔧 实用应用场景
用途 | 示例说明 |
---|---|
静态托管 | 可直接托管 HTML/CSS/JS、图片等静态资源,访问速度快 |
反向代理 | 将前端请求统一转发到后端服务,如 Node.js、Django、Flask 等 |
负载均衡 | 支持 Round Robin 等策略转发请求至多台后端服务器,提高整体响应能力 |
内容缓存 | 配合 fastcgi_cache / proxy_cache 缓存部分或全部响应,减少后端压力 |
安全防护 | 可结合防火墙/限速/黑白名单等配置,屏蔽恶意请求 |
✅ 总结
- Nginx 是现代 Web 架构不可或缺的组件,性能稳定,扩展能力强
- 适合静态资源托管、API 转发、负载均衡等多种场景
- 掌握基础配置非常重要,推荐多实践结合项目逐步深入
📚 更多扩展阅读推荐:
- 官方文档:https://nginx.org/en/docs/
- 中文文档: https://www.nginx.cn/doc/
- 高级功能示例:HTTPS 终端、限速限流、反向代理缓存等(可提供定制版本)
作者:freed 创建时间:2025-03-28 14:37
最后编辑:freed 更新时间:2025-03-28 14:38
最后编辑:freed 更新时间:2025-03-28 14:38