Ubuntu下nginx配置有哪些技巧
导读:Ubuntu 下 Nginx 配置实用技巧 一 基础与目录结构 使用 APT 安装与启停:sudo apt update && sudo apt install nginx;sudo systemctl start|sto...
Ubuntu 下 Nginx 配置实用技巧
一 基础与目录结构
- 使用 APT 安装与启停:sudo apt update &
&
sudo apt install nginx;sudo systemctl start|stop|restart|reload nginx;如需开机自启:sudo systemctl enable nginx。若启用防火墙,放行 HTTP/HTTPS:sudo ufw allow ‘Nginx HTTP’、sudo ufw allow ‘Nginx HTTPS’。配置语法检查:sudo nginx -t。Ubuntu 的 APT 包将配置文件组织在 /etc/nginx/,常见目录与用途如下:
路径 作用 /etc/nginx/nginx.conf 主配置文件 /etc/nginx/sites-available/ 虚拟主机(server)配置存放 /etc/nginx/sites-enabled/ 通过软链接启用站点(主配置中通常包含 include) /var/www/ 常见默认网站根目录 /var/log/nginx/ 访问与错误日志 以上布局便于拆分站点、快速启用/禁用虚拟主机。
二 站点管理与虚拟主机
- 多站点推荐采用 sites-available + sites-enabled 模式:在 /etc/nginx/sites-available/ 创建站点配置(如:example.conf),用软链接到 /etc/nginx/sites-enabled/ 启用;修改后先 sudo nginx -t 校验,再 sudo systemctl reload nginx 生效。示例片段:
server { listen 80; server_name example.com; root /var/www/example; index index.html; location / { try_files $uri $uri/ =404; } }
这种方式便于维护多个项目与不同端口/域名的站点。
三 反向代理与负载均衡
- 反向代理常用配置要点:设置转发目标、请求头与超时、客户端体大小等。示例:
location /app/ { proxy_pass http://127.0.0.1:8080/; 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_read_timeout 60s; client_max_body_size 50m; }
负载均衡使用 upstream:
upstream backend { server 10.0.0.11:8080 weight=3; server 10.0.0.12:8080; server 10.0.0.13:8080 backup; } server { listen 80; server_name app.example.com; location / { proxy_pass http://backend; } }
按需调整权重、备份节点与超时,实现高可用与性能分担。
四 性能与安全优化
- 启用压缩与长连接:
gzip on; gzip_comp_level 5; gzip_min_length 256; gzip_proxied any; gzip_vary on; keepalive_timeout 65; keepalive_requests 100; - 静态资源缓存:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off; - 连接复用与传输优化:在 http/events 中启用 sendfile on; 、tcp_nopush on; 、tcp_nodelay on; ,并按 CPU 核数设置 worker_processes auto; 、合理提升 worker_connections。
- 安全与观测:隐藏版本号(如:server_tokens off; )、限制请求体大小(client_max_body_size)、开启访问日志并结合 /var/log/nginx/access.log 与 error.log 做问题定位。以上做法在 Ubuntu 的默认安装环境下即可落地。
五 常见问题与快速排障
- 配置变更后务必先执行 sudo nginx -t 校验,再 sudo systemctl reload nginx 平滑生效,避免语法错误导致中断。
- 端口与防火墙:若使用 UFW,放行 80/443;如使用 firewalld,可执行 firewall-cmd --zone=public --add-port=80/tcp --permanent & & firewall-cmd --reload。
- 目录权限与默认页:访问出现 403 Forbidden 常见于目录无读权限或索引文件缺失,检查 root 路径权限与 index 指令;必要时调整权限或补充默认页面。
- 查看端口占用:如 sudo lsof -i:80 或 ss -tulpen | grep :80,确认服务是否监听与端口是否被占用。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu下nginx配置有哪些技巧
本文地址: https://pptw.com/jishu/755861.html
