安装Nginx
在Ubuntu系统中安装Nginx:
sudo apt update sudo apt install nginx
启动并确保Nginx在系统启动时自动运行:
sudo systemctl start nginx sudo systemctl enable nginx
配置Nginx作为应用代理
编辑Nginx的配置文件,通常位于/etc/nginx/sites-available/default:
sudo nano /etc/nginx/sites-available/default
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://192.168.1.100:808;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 10M;
client_header_timeout 10;
client_send_timeout 10;
}
# 缓存配置
proxy_cache "cache" levels=1:2 keys_zone=cache:shm_size=64M max_size=1M inactive=60m use_temp_path=off;
location / {
proxy_pass http://192.168.1.100:808;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache cache;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
add_header X-Cache-Status $upstream_cache_status;
client_max_body_size 10M;
client_header_timeout 10;
client_send_timeout 10;
}
# SSL配置
ssl {
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-CTS-SHA256:ECDHE-RSA-AES256-CTS-SHA384;
ssl_prefer_server_ciphers yes;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
}
}
启用缓存
确保启用了缓存模块,并设置缓存路径:
sudo mkdir -p /var/cache/nginx sudo chown -R www-data:www-data /var/cache/nginx
配置SSL
在Nginx配置中启用SSL模块,并设置正确的证书路径:
server {
listen 443 ssl;
server_name your_domain.com;
ssl_certificate /path/to/cert.pem;
ssl_private_key /path/to/private_key.pem;
ssl_ca_certificate /path/to/ca.pem;
# 以下配置可选
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# 其他SSL配置
}
部署并测试
完成配置后,保存并退出编辑器:
Ctrl + O
重新加载Nginx配置:
sudo systemctl reload nginx
测试代理是否正常工作:
curl https://your_domain.com
检查Nginx日志,确保没有错误:
sudo tail -f /var/log/nginx/access.log
优化与监控
- 升级Nginx:定期升级到最新版本,修复漏洞。
- 优化缓存:根据访问频率调整缓存策略,使用互联缓存。
- 监控性能:使用工具如
top监控内存和CPU使用情况,测试吞吐量。
通过以上步骤,你可以配置一个高效的Nginx代理,加速应用服务器的响应,确保高并发下的稳定运行。








