以下是Debian下Nginx的配置技巧,涵盖基础设置、性能优化及安全增强:
站点配置管理
/etc/nginx/sites-available/
下创建配置文件(如example.com.conf
),通过符号链接到/etc/nginx/sites-enabled/
启用。server {
listen 80;
server_name example.com;
root /var/www/example.com;
index index.html;
}
启用HTTPS
certbot
工具自动配置:sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
调整工作进程
worker_processes
为CPU核心数,worker_connections
根据内存调整(如1024-65535)。epoll
事件模型(Linux专用):events {
use epoll;
worker_connections 65535;
}
资源与传输优化
gzip on;
gzip_types text/css text/javascript application/json;
sendfile
和tcp_nopush
提升文件传输效率:sendfile on;
tcp_nopush on;
location ~* \.(jpg|css|js)$ {
expires 30d;
add_header Cache-Control "public";
}
访问控制
location /admin {
allow 192.168.1.0/24;
deny all;
}
location ~ /\. {
deny all;
}
SSL/TLS优化
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+AESGCM:AES256+EECDH;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000";
sudo nginx -t
sudo systemctl reload nginx
/var/log/nginx/error.log
/var/log/nginx/access.log
ufw
管理防火墙:sudo ufw allow 'Nginx Full'
htop
(查看资源占用)、nginx-module-vts
(实时流量分析)以上技巧可根据实际需求组合使用,配置前建议备份原始文件,修改后通过nginx -t
验证语法正确性。