Nginx
1. Nginx 简介
Nginx 是一款高性能的 Web 服务器、反向代理服务器及电子邮件代理服务器,以高并发、低内存占用著称。支持模块化扩展,常用于负载均衡、静态资源托管等场景。
2. 安装与部署
2.1 编译安装
# 下载源码
wget https://nginx.org/download/nginx-1.25.3.tar.gz
tar -zxvf nginx-1.25.3.tar.gz
cd nginx-1.25.3
# 编译安装
./configure --prefix=/usr/local/nginx
make && make install
# 启动
/usr/local/nginx/sbin/nginx
2.2 包管理器安装(Ubuntu)
sudo apt update
sudo apt install nginx
3. 基础配置
3.1 配置文件结构
主配置文件:/etc/nginx/nginx.conf
核心配置块:
events { ... } # 连接处理参数
http { ... } # HTTP 全局配置
server { ... } # 虚拟主机配置
location { ... } # 请求路由规则
3.2 静态资源托管
server {
listen 80;
server_name example.com;
location /images/ {
root /data/static;
autoindex on; # 允许目录浏览
}
}
3.3 支持直接浏览 Markdown 文件
修改 mime.types 文件,添加:
nginx
text/plain md;
重启 Nginx 后,访问 .md 文件将以文本形式展示(需浏览器插件渲染)。
4. 核心功能
4.1 反向代理
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://backend_server;
proxy_set_header Host $host;
}
}
upstream backend_server {
server 192.168.1.10:8080;
server 192.168.1.11:8080;
}
4.2 负载均衡
upstream backend {
least_conn; # 最少连接算法
server 10.0.0.1:80 weight=3;
server 10.0.0.2:80;
server 10.0.0.3:80 backup; # 备用服务器
}
5. 高级配置
5.1 编译 Markdown 解析模块
# 安装依赖(如 discount)
git clone https://github.com/Orc/discount
cd discount && ./configure && make install
# 编译 Nginx 时添加模块
./configure --add-module=/path/to/ngx-markdown-module-mdfilter
make && make install
配置示例:
location /docs/ {
mdfilter on;
mdfilter_utf8 on;
}
5.2 性能优化
调整 Worker 进程数:
worker_processes auto;
worker_connections 1024;
# 开启 Gzip 压缩:
gzip on;
gzip_types text/plain text/css application/json;
6. 常见问题
- Q1: 如何实现平滑升级?
kill -s HUP $(cat /var/run/nginx.pid) # 重载配置
kill -s USR2 $(cat /var/run/nginx.pid) # 升级可执行文件
- Q2: 如何限制访问频率?
location /api/ {
limit_req zone=api_limit burst=5;
proxy_pass http://backend;
}
limit_req_zone $binary_remote_addr zone=api_limit:10m rate=10r/s;
参考资料
1 Nginx + Markdown 博客指南
2 Nginx 反向代理原理
3 图片服务器搭建
4 Nginx 中文手册
5 编译安装与平滑升级
7 Markdown 解析模块

浙公网安备 33010602011771号