Nginx 常用设置

打印 上一主题 下一主题

主题 548|帖子 548|积分 1644

一、全局设置

全局设置重要设置一些影响Nginx服务器团体运行的设置指令,包罗运行Nginx的用户和组、进程数、日记文件路径等。
用户和组:user [user] [group]; 指定运行Nginx的用户和用户组,默以为nobody。
进程数:worker_processes auto; 指定工作进程的数目,建议设置为CPU焦点数或焦点数的倍数。
错误日记:error_log /var/log/nginx/error.log; 指定全局错误日记文件的路径。
PID文件:pid /run/nginx.pid; 指定记录主进程ID的文件的路径。
二、事件处置惩罚设置(events块)

events块重要影响Nginx服务器与用户的网络毗连,包罗毗连数、事件驱动模型等。
最大毗连数:worker_connections 1024; 指定单个配景worker process进程的最大并发毗连数。
事件驱动模型:use epoll; 在Linux系统中,使用epoll作为事件驱动模型可以显著提高Nginx的性能。
毗连序列化:accept_mutex on; 开启后,会对多个Nginx进程接收毗连举行序列化,防止惊群现象。
三、HTTP设置(http块)

http块是Nginx设置中最频繁的部分,包罗文件类型映射、日记格式、访问控制、反向署理、负载平衡等。
文件类型映射:include mime.types; 加载mime.types文件,该文件包含了文件扩展名与文件类型的映射关系。
日记格式:通过log_format和access_log指令定义和指定日记格式及日记文件的路径。
文件传输:sendfile on; 启用sendfile功能,减少用户空间到内核空间的上下文切换,提高文件传输服从。
毗连超时:keepalive_timeout 65; 设置客户端与服务器之间的毗连保持时间。
四、反向署理与负载平衡

Nginx作为反向署理服务器,可以设置为将客户端哀求转发到后端服务器,并可以根据需要设置负载平衡策略。
反向署理根本设置:
  1. server {
  2.     listen       80; # 监听80端口
  3.     server_name  localhost; # 服务器名,这里使用localhost作为示例
  4.     location / {
  5.         # 反向代理配置
  6.         proxy_pass http://localhost:8080; # 将请求转发到http://localhost:8080
  7.         # 以下配置是可选的,但通常很有用
  8.         proxy_set_header Host $host; # 将原始请求头中的Host字段转发到后端服务器
  9.         proxy_set_header X-Real-IP $remote_addr; # 将客户端的真实IP地址转发到后端服务器
  10.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 转发客户端的IP地址和原始请求的IP地址列表
  11.         # 如果后端服务需要处理WebSocket连接,请取消以下行的注释
  12.         # proxy_http_version 1.1;
  13.         # proxy_set_header Upgrade $http_upgrade;
  14.         # proxy_set_header Connection "upgrade";
  15.         # 其他可能的代理设置...
  16.     }
  17.     # 其他server块...
  18. }
复制代码
负载平衡设置: 在http块中,可以使用upstream指令定义一个后端服务器组,并在server块中使用proxy_pass指令引用该组。Nginx支持多种负载平衡策略,如轮询、加权轮询、IP哈希等。
  1. upstream myapp1 {
  2.     server backend1.example.com weight=5;
  3.     server backend2.example.com;
  4.     server backup1.example.com backup;
  5. }
  6. server {
  7. }
复制代码
五、动静分离设置

  1. server {
  2.     listen 80;
  3.     server_name yourdomain.com;
  4.     # 处理静态资源
  5.     location ~* \.(html|htm|gif|jpg|jpeg|png|ico|css|js|txt)$ {
  6.         root /path/to/your/static/files;
  7.         expires 30d; # 设置浏览器缓存时间
  8.     }
  9.     # vue 服务器
  10.      location / {
  11.         root /usr/share/nginx/html/vue-app; # 指向Vue打包文件的目录
  12.         try_files $uri $uri/ /index.html; # 对于Vue单页应用,尝试匹配静态文件,如果未找到,则返回index.html
  13.     }
  14.     # 处理动态资源,转发到Tomcat
  15.     location / {
  16.         proxy_pass http://localhost:8080;
  17.         proxy_set_header Host $host;
  18.         proxy_set_header X-Real-IP $remote_addr;
  19.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  20.     }
  21. }
复制代码
六、其他常用设置

SSL/TLS设置:用于支持HTTPS协议,保护数据传输的安全性。
Gzip压缩:通过gzip指令开启Gzip压缩功能,减少数据传输量,提高传输服从。
缓存设置:Nginx支持对静态文件举行缓存,减少后端服务器的负载。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

嚴華

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表