• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

关闭

返回栏目

关闭

返回服务器栏目

115 - Nginx高级 - nginx.conf - main - 全局配置段

作者:

贺及楼

成为作者

更新日期:2024-05-13 00:56:15

配置段

有5个配置段

  1. main # 全局 配置段
  2. events {} # 用户网络连接 配置段
  3. http { # http连接 配置段
  4. upstream {} # 负载均衡配 置段
  5. server {} # 服务器 配置段
  6. }
  1. user root;
  2. worker_processes auto;
  3. pid /run/nginx.pid;
  4. include /etc/nginx/modules-enabled/*.conf;
  5. events {}
  6. http {
  7. upstream name {
  8. server 192.168.92.134:8000;
  9. server 192.168.92.134:8001;}
  10. server{listen 80;}
  11. server{
  12. listen # 监听地址和端口
  13. listen 443; # 监听地址和端口 例子
  14. server_name # 主机名
  15. root # 站点根目录(document_root)
  16. alias # 路径别名
  17. location /static {}}
  18. }

main block 全局配置段

  1. ##############################
  2. # 正常运行必备的配置:
  3. ##############################
  4. user nginx nginx
  5. # Nginx用户及组:用户 组。window下不指定
  6. # 新建用户useradd命令:
  7. # useradd nginx -s /sbin/nologin -M
  8. # -s<shell>:指定用户登入后所用的shell
  9. # -M:不要自动建立用户的登入目录
  10. # 终端查看命令
  11. # ps aux | grep nginx
  12. # pid /PATH/TO/PID_FILE # 指定存储nginx主进程进程号码的文件路径
  13. pid logs/nginx.pid # pid(进程标识符):存放路径。
  14. # include file | mask # 指明包含进来的其它配置文件片断
  15. include /etc/nginx/modules-enabled/*.conf;
  16. # load_module file; # 指明要装载的动态模块
  17. ##############################
  18. # 优化性能相关的配置:
  19. ##############################
  20. #worker_processes number | auto
  21. # worker_processes 8
  22. worker_processes auto
  23. # worker进程的数量
  24. # 根据硬件调整,通常等于CPU数量或者2倍于CPU
  25. # 通常应该等于小于当前主机的cpu的物理核心数
  26. # auto:当前主机物理CPU核心数
  27. # worker_cpu_affinity cpumask …
  28. # worker_cpu_affinity auto [cpumask]
  29. # worker_cpu_affinity auto
  30. # worker_cpu_affinity 00010000 00100000 01000000 10000000
  31. # worker与CPU进行绑定
  32. # 如果此服务器主要是做nginx服务器的话,可是使用此配置
  33. # 如果还有其它重要程序运行,不建议使用
  34. # CPU MASK:
  35. # 00000000 # 8个CPU的表示
  36. # 00000001 # 0号CPU
  37. # 00000010 # 1号CPU
  38. # ... ...
  39. # 服务器有8个CPU,nginx服务要启用4个worker进程
  40. # 可以使用auto进行自动分配,也可以使用手动绑定
  41. # 比如绑定后四个CPU,就是4、5、6、7号CPU(00010000、00100000、01000000、10000000)
  42. # worker_priority number;
  43. # 指定worker进程的nice值,设定worker进程优先级;[-20,20]
  44. # ps axo comm,pid,psr,ni | grep nginx # 默认nice值是0
  45. # nginx 7209 0 0
  46. # nginx 8812 3 0
  47. # nginx 8813 2 0
  48. # nginx 8814 1 0
  49. # worker_rlimit_nofile number
  50. # worker_rlimit_nofile 204800 # 指定进程可以打开的最大描述符:数目。
  51. # (这里小乱)
  52. # 所有worker进程所能够打开的文件数量上限
  53. # 一个进程至少需要打一个套接字文件,1024个进程就需要至少打开1024个套接字文件
  54. # 3个worker进程至少需要打开3*1024=3072个文件
  55. # 这个指令是指当一个nginx进程打开的最多文件描述符数目
  56. # 理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除
  57. # 但是nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。
  58. # 现在在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535。
  59. # 这是因为nginx调度时分配请求到进程并不是那么的均衡
  60. # 所以假如填写10240,总并发量达到3-4万时就有进程可能超过10240了,这时会返回502错误。
  61. ##############################
  62. # 用于调试及定位问题相关的配置:
  63. ##############################
  64. # daemon on|off;
  65. # 是否以守护进程方式运行Nignx;(CentOS 7不需要)
  66. # master_process on|off;
  67. # 是否以master/worker模型运行nginx;默认为on
  68. # error_log file [level];
  69. error_log logs/error.log # 错误日志:存放路径。
  70. error_log logs/error.log notice # 错误日志:存放路径。
  71. error_log logs/error.log info # 错误日志:存放路径。