• nginx 配置优化(简单)


    配置文件

        正常运行的必备配置:
            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级别
  • 相关阅读:
    浅谈桶排思想及[USACO08DEC]Patting Heads 题解
    【知识总结】CSS中样式覆盖优先顺序
    【知识总结】Activiti工作流学习入门
    mac下安装nginx问题解决
    spring项目中dubbo相关的配置文件出现红叉的问题
    mybatis对java自定义注解的使用——入门篇
    自学spring过程中碰到的问题list,一个一个解决
    mac下常用软件整理
    小米面试题目(测试开发岗位——不是测试,是测试工具和平台的开发岗位)
    Knockoutjs:Component and Custom Elements(翻译文章)
  • 原文地址:https://www.cnblogs.com/woodman/p/6200626.html
Copyright © 2020-2023  润新知