博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx 配置优化(简单)
阅读量:5050 次
发布时间:2019-06-12

本文共 1728 字,大约阅读时间需要 5 分钟。

配置文件

    正常运行的必备配置:
        1.user username [groupname];(推荐nginx)
        以那个用户身份运行,以在configure指定的用户为准
        2.pid /path/to/pid_filename;
        指定nginx的pid文件
        3.
worker_rlimit_nofile #;
        指定一个worker进程能打开的最大文件描述符数量;
        4.
worker_rlimit_sigpending #;
        设定每个用户能够发往worker进程的信号的数量;
 
       
    autoindex on;   #开启目录浏览
    autoindex_exact_size off;  #关闭以byte显示文件大小
    autoindex_localtime on;    #显示的文件时间为GMT时间
       

优化性能配置:

         1. worker_processes #;
                    worker进程的个数;通常为物理cpu核心数量减1;
                       可能支持auto
         2. 
worker_cpu_affinity  CPUMASK ;
                     CPUMASK:
                            00000001
                            00000010    
                worker_cpu_affinity  00000001  00000010 00000100;
         3. ssl_engine device;
            在存在ssl硬件加速器的服务器上,指定所使用的ssl硬件加速设备
 
         4. timer_resolution t
            每次内核事件调用返回时,都会使用gettimeofday()来更新nginx缓存时钟;timer_resolution用于定义每隔多久才会由gettimeofday()更新一次缓存时钟;
x86-64系统上,gettimeofday()代价已经很小,可以忽略此配置
         5. worker_priority nice [-20~19]; 值越小越优先调用,
建议-10
 
 

跟事件相关的配置 events{}

        1.accept_mutex [on|off]
         是否打开nginx的负载均衡锁;此锁能够让多个worker进行轮流地、序列化地与新的客户端建立连接;而通常当一个worker进程的负载达到其上限的85%,master就尽可能不在将请求调度此worker;
        2.lock_file /path/to/lock_file; 锁文件
 
        3.accept_mutex_delay #ns;
         使用accept锁以后,只有一个worker能取得锁,一个worker进程为取得accept锁的等待时长,即用户建立等待的时间,如果某worker进程在某次试图取得锁时失败了,至少要等待#ns才能再一次请求锁:
默认500毫秒
        4.multi_accept on|off;
        是否允许一次性地响应多个用户请求,
默认为off
        5.
use [
epoll|rtsig|select|poll]
        指定使用那种模型,
建议让nginx自动选择
        6.
worker_connections # ; worker_rlimit_nofile >=worker_connections
        每个worker能够并发响应的最大请求数,
如果为代理服务器的话,worker_rlimit_nofile=worker_commections*2
 

用于调试、定位问题:只调试nginx时使用

        1.daemon [on|off];
         关闭提供守护进程的模式,是否让nignx运行于后台;调试时应该为off,使得所有信息直接输出在控制台,默认为on
        2.master_process on|off
         是否以master/worker模式运行nginx,默认为on,调试时可以设置为off以方便追踪
        3.error_log /path/to/error_log 
level
            
(debug|info|
notice
|
warn
|
error
|crit|alert|emerg)
        错误日志文件及其级别,调试时可以使用debug级别,但要求在编译时必须使用--with-debug启用debug功能,默认通常为error级别

 

转载于:https://www.cnblogs.com/woodman/p/6200626.html

你可能感兴趣的文章
Eclipse快捷键:同时显示两个一模一样的代码窗口
查看>>
《架构之美》阅读笔记05
查看>>
《大道至简》读后感——论沟通的重要性
查看>>
JDBC基础篇(MYSQL)——使用statement执行DQL语句(select)
查看>>
关于React中props与state的一知半解
查看>>
java中Hashtable和HashMap的区别(转)
查看>>
关闭数据库
查看>>
webStrom智能提示忽略首字母大小写问题
查看>>
层叠加的五条叠加法则(一)
查看>>
设计模式六大原则(5):迪米特法则
查看>>
对Feature的操作插入添加删除
查看>>
javascript String
查看>>
ecshop 系统信息在哪个页面
查看>>
【转】码云source tree 提交超过100m 为什么大文件推不上去
查看>>
Oracle数据库的增、删、改、查
查看>>
MySql执行分析
查看>>
git使用中的问题
查看>>
yaml文件 .yml
查看>>
linux字符集修改
查看>>
phpcms 添加自定义表单 留言
查看>>