Nginx在Web开发中的应用
2025-04-14 11:48:32
43
参考资料
Nginx在Web开发中的应用
Nginx在Web开发中的应用
反向代理
将客户端请求转发到后端服务器
配置示例:
server { listen 80; server_name example.com; location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; } }
负载均衡
分配流量到多个服务器
配置示例:
upstream backend { server backend1.example.com; server backend2.example.com; } server { location / { proxy_pass http://backend; } }
静态文件服务
高效提供静态资源
配置示例:
server { location /static/ { alias /var/www/static/; expires 30d; } }
SSL/TLS终止
处理HTTPS连接
配置示例:
server { listen 443 ssl; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; }
URL重写
修改请求URL
配置示例:
location /old/ { rewrite ^/old/(.*)$ /new/$1 permanent; }
缓存
缓存代理内容
配置示例:
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m; location / { proxy_cache my_cache; proxy_pass http://backend; }
访问控制
限制IP访问
配置示例:
location /admin/ { allow 192.168.1.0/24; deny all; }
Gzip压缩
减小传输文件大小
配置示例:
gzip on; gzip_types text/plain application/json;
虚拟主机
单服务器托管多个网站
配置示例:
server { server_name site1.com; root /var/www/site1; } server { server_name site2.com; root /var/www/site2; }
WebSocket支持
代理WebSocket连接
配置示例:
location /ws/ { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }