nginx(三)

nginx高级配置

  ipv4 网络有关参数优化 追加到 /etc/sysctl.conf      sysctl -p 修改生效

    net.core.netdev_max_backlog 网络大于处理速度时,队列数据包最大数目

    net.core.somaxconn 系统同时发生的tcp连接数

    net.ipv4.tcp_max_orphans 系统允许存在多少tcp套接字不被关联到任何一个用户文件句柄上

        这个限制只是为了防止简单的dos攻击 内存充足的情况下 可以调大

    net.ipv4.tcp_max_syn_backlog 尚未收到客户端确认信息的连接请求最大值

    net.ipv4.tcp_timestamps 时间戳  当赋值0时 禁用tcp时间戳 建议关闭

    net.ipv4.tcp_synack_tetries 内核放弃连接之前向客户发送syn+ack 包的数量 一般设为1

    net.ipv4.tcp_syn_retries 内核放弃简历连接之前发送syn包的数量 一般为1

  cpu 配置优化参数

    多核提高并行能力 多核可以实现线程的并行处理

    worker_processes 赋值为机器cpu内核数或倍数

    worker_cpu_affinity 为每一个进程分配cpu工作内核 

      worker_cpu_affinity 0001 0100 1000 0010  建议不同的进程平均分配到不同cpu 这是4核分配

  与网络连接配置相关参数

    keepalive_timeout 设置服务器与客户端保持链接的超时时间

    send_timeout 服务器响应客户端的超时时间

    client_header_buffer_size 服务器允许的客户端请求头部缓冲区大小 默认1kb 可以根据系统分页大小来设置 当cookie写入了较大值时 可以将此值设大

    multi_accept 配置nginx服务器是否尽可能多地接受客户端网络连接请求 默认off

  事件驱动模型的相关配置

    use 指定事件驱动模型

    worker_connection 设置允许连接客户端的最大数量 服务器允许同时连接的客户端最大数量

      client = worker_processes*worker_connections/2  一般设置为65535

      会和系统进程可以打开的文件句柄数量有关系 cat /proc/sys/fs/file-max 查看该值

      echo "2390251" > /proc/sys/fs/file-max; sysctl -p

    worker_rlimit_sigpending 事件信号队列长度上限 主要影响rtsig事件模型

    epoll_events epoll 事件驱动模式下服务器与内核之间传递事件的数量 默认512

posted @ 2017-09-01 17:41  OneStepCloser  阅读(90)  评论(0)    收藏  举报