首页 > 其他 > 详细

高性能Nginx最佳实践

时间:2020-07-26 20:27:32      阅读:69      评论:0      收藏:0      [点我收藏+]

三,Nginx配置location

  配置块:server

       详情:location会尝试根据用户请求中的uri来匹配location的uri表达式,如果可以匹配,就选择location块中的配置来处理用户请求。

  • =/uri :表示完全匹配
  • ~/uri:表示匹配uri时是大小写敏感的
  • ~*/uri:表示匹配uri时忽略大小写
  • ^~/uri:表示匹配uri时只需要其前半部分匹配即可
  • /uri:不带任何修饰符,也表示前缀匹配,但是是在正则匹配之后
  • /:通用匹配,任何未匹配到其他location的请求都会匹配到,相当于switch中的default

示例:

技术分享图片

 

 四,Nginx常规配置:

  (一),定义环境变量:

    语法:evn VAR|VAR=VALUE

    作用:用户可以直接设置操作系统上的环境变量

       举例:evn TESTPATH=/tmp;

 (二),嵌入其他配置文件

    语法:include/path/file

    作用:可以把其他配置文件引入进来,路径可以是绝对路径,也可以时相对路径。还可以含有通配符。

   (三),PID文件

    语法:pid path/file;

    默认:pid logs/nginx.pid;

        作用:保存master进程的pid文件存放路径。

(四),Nginx worker进程运行的用户和用户组

    语法:user username[groupname]

    默认:user nobody nobody

    作用:master进程fork出的进程在哪个用户和用户组下

(五),指定Nginx worker进程可以打开的最大句柄描述符个数

    语法:worker_rlimit_nofile limit;

    作用:设置一个worker可以打开的最大句柄数

(六),限制信号队列:

    语法:worker_rlimit_sigpending limit;

    作用:设置每个用户发往Nginx的信号队列的大小。也就是说,当某个用户的信号队列满了,这个用户再发送的信号量就会被丢掉。

 

五,Nginx高性能配置:

  (一)Nginx worker进程个数

      语法:worker_processes number;

      默认:worker_processes 1;

      作用:在master_worker运行方式下,定义worker进程的个数。worker进程的数量会直接影响性能。每个worker都是单线程的进程,他会调用各个模块来实现各种功能。如果确定这些模块不会出现堵塞式调用,那么进程数可以和CPU核心数一样;反之,则稍少一些。

(二)绑定Nginx worker进程到指定的CPU内核

      语法:worker_cpu_affinity cpumask

      作用:假设每个worker都是很繁忙的,如果多个进程都在抢同一个cpu,那么就会出现同步问题。反之,如果每个worker进程独享一个CPU,就实现了完全的并发。

      举例:worker_processes 4;

         worker_cpu_affinity 1000 0100 0010 0001;

(三),SSL硬件加速

      语法:ssl_engine device;

      作用:如果服务器上有SSL硬件加速设备,那么就可以进行配置以加快SSL协议的处理速度。用户可以用OpenSSL提供的命令来查看是否有SSL硬件加速设备:openssl engine -t

(四),Nginx worker进程优先级设置

 

高性能Nginx最佳实践

原文:https://www.cnblogs.com/boogie-xy/p/13381316.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!