📖 一、Nginx 简介
-
Nginx:轻量级、高并发、低内存消耗的 Web 服务器。
-
核心特点:
✅ 高并发处理能力(支持 10 万以上连接)
✅ 支持反向代理、负载均衡
✅ 支持动静分离
✅ 配置灵活,生态丰富
常用于:
-
静态网站服务
-
API 网关
-
多应用统一入口管理
🛠️ 二、Nginx 安装与启动
1. Linux 安装(以 Ubuntu 为例)
bash
复制编辑
# 更新软件源 sudo apt update # 安装 Nginx sudo apt install nginx -y # 启动 Nginx sudo systemctl start nginx # 设置开机启动 sudo systemctl enable nginx
2. Windows 安装
-
下载 Nginx:http://nginx.org/en/download.html
-
解压后运行
nginx.exe
启动。
3. 验证安装
浏览器访问:
arduino
复制编辑
http://localhost
如果出现 “Welcome to nginx!” 页面,说明安装成功。
📝 三、Nginx 目录结构
目录/文件 | 作用 |
---|---|
/etc/nginx/nginx.conf | 主配置文件 |
/etc/nginx/conf.d/ | 存放子配置文件(多站点部署) |
/var/www/html/ | 默认网页目录 |
/var/log/nginx/ | 存放访问日志和错误日志 |
⚙️ 四、Nginx 基础配置
1. 修改默认首页
编辑主配置文件:
bash
复制编辑
sudo nano /etc/nginx/nginx.conf
找到 server
段:
nginx
复制编辑
server { listen 80; server_name localhost; location / { root /var/www/html; index index.html; } }
保存后重启:
bash
复制编辑
sudo systemctl restart nginx
2. 配置虚拟主机
多个网站部署在同一服务器:
nginx
复制编辑
server { listen 80; server_name example1.com; root /var/www/example1; index index.html; } server { listen 80; server_name example2.com; root /var/www/example2; index index.html; }
3. 设置 404 页面
nginx
复制编辑
server { ... error_page 404 /404.html; location = /404.html { root /var/www/html; } }
🚀 五、Nginx 高级用法
1. 反向代理
nginx
复制编辑
server { listen 80; server_name api.example.com; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
-
将请求转发给本地 Node.js 服务。
2. 动静分离
nginx
复制编辑
server { listen 80; # 静态资源 location /static/ { root /var/www/html; } # 动态请求转发 location / { proxy_pass http://127.0.0.1:8000; } }
3. 负载均衡
nginx
复制编辑
upstream backend { server 127.0.0.1:8080; server 127.0.0.1:8081; } server { listen 80; location / { proxy_pass http://backend; } }
🧪 六、实战案例:部署 Vue 项目
-
编译 Vue 项目:
bash
复制编辑
npm run build
-
将
dist/
文件夹上传至服务器:
bash
复制编辑
scp -r dist/* user@server:/var/www/vue-app
-
配置 Nginx:
qdbaj.com.cn
qdyzx.com.cn
webole.cn
32o.cn
jiyouquan.cn
369csw.com
9you.wang
xld518.com
jinhuzl.com
zzajc.com
riweifood.com
siquankeji.com
szsjyh.cn
zjpzl.cn
weiyujian.cn
aeromongolia.cn
sdsbgg.cn
wdmsyj.cn
bsv.wang
byi.wang
nginx
复制编辑
server { listen 80; server_name vue.example.com; root /var/www/vue-app; index index.html; location / { try_files $uri /index.html; } }
-
重启 Nginx:
bash
复制编辑
sudo systemctl restart nginx
浏览器访问 http://vue.example.com
,Vue 项目上线。
🛡️ 七、常见问题排查
问题 | 解决方法 |
---|---|
80 端口已被占用 | 修改 listen 端口,或停止其他服务占用 |
配置修改后无效 | 确认是否 sudo nginx -s reload |
页面乱码 | 在配置文件中添加 charset utf-8; |
🌟 八、高效技巧
✅ 语法检查
bash
复制编辑
sudo nginx -t
✅ 平滑重载
bash
复制编辑
sudo nginx -s reload
✅ 日志实时查看
bash
复制编辑
tail -f /var/log/nginx/access.log