zoukankan      html  css  js  c++  java
  • linux 下 nginx 的最大文件打开设置

    先设置好linux 系统的 limit, 见其他博文

    nginx 也有自己的 limit 设置:

    1、 nginx.conf 设置  worker_rlimit_nofile 

           例如:  worker_rlimit_nofile 65535;

    同时连接的数量受限于系统上可用的文件描述符的数量,因为每个套接字将打开一个文件描述符。 如果NGINX尝试打开比可用文件描述符更多的套接字,会发现error.log中出现Too many opened files的信息。
    使用ulimit检查文件描述符的数量: ulimit -n       

    现在,将此值增加到大于worker_processes * worker_connections的值。 应该是增加当前worker运行用户的最大文件打开数值。

    NGINX提供了worker_rlimit_nofile指令,这是除了ulimit的一种设置可用的描述符的方式。 该指令与使用ulimit对用户的设置是同样的效果。此指令的值将覆盖ulimit的值

    2、修改 nginx.service

    # vim /usr/lib/systemd/system/nginx.service

    增加 

    [Service]
    LimitNOFILE=65536

    然后

    systemctl daemon-reload
    systemctl restart nginx

    3、查看下当前实际的限制

    ps -ef | grep nginx
    cat /proc/<pid>/limit

    4、ps, 如果开启的端口很多, 可能导致nginx 服务启动超时失败

    可修改 nginx.service 

    加入:

    TimeoutStartSec=120

    表示,允许服务启动使用 120s, 默认是 90s 

    修改后  systemctl daemon-reload

     
  • 相关阅读:
    mycat安装
    docker注册&打包
    docker的使用场景和背景了解
    解析nohup java -jar xxx &
    透明度百分比和十六进制对应关系
    android get cpu rate
    Cordova插件开发
    VectorDrawable在Android中的配置
    APK反编译后添加日志
    apk重新签名
  • 原文地址:https://www.cnblogs.com/zhenfei/p/8451433.html
Copyright © 2011-2022 走看看