【问题标题】:where does nginx opens his file descriptors?nginx 在哪里打开他的文件描述符?
【发布时间】:2020-08-09 01:51:20
【问题描述】:

由于打开 Web 套接字连接请求的负载很大,我的 nginx 上遇到了 (23: too many open files in system) 错误。

在完全不同的机器上运行的后端服务并从这个 nginx 进程接收proxy_pass。 一旦我达到某个阈值,我就会收到上面的错误消息。 我试图深入研究 nginx 文档,但没有找到有用的东西。 这些 Web 套接字的文件描述符在哪里打开和创建? 是在运行nginx进程的机器上,还是在运行服务的机器上?

我想增加每个进程允许打开文件的限制,但我不确定我需要在哪台机器上更改它。

【问题讨论】:

    标签: linux nginx amazon-ec2 websocket ulimit


    【解决方案1】:

    增加 nginx 服务器上的最大文件描述符。增加需要发生在内核和用户或 nginx 级别。 tuning guidelines 解释了原因:

    文件描述符是用于表示连接和打开文件等的操作系统资源。 NGINX 每个连接最多可以使用两个文件描述符。例如,如果 NGINX 是代理,它通常使用一个文件描述符用于客户端连接,另一个用于与代理服务器的连接,尽管如果使用 HTTP keepalives,这个比率要低得多。

    【讨论】:

      猜你喜欢
      • 2012-06-10
      • 2011-01-31
      • 2016-01-27
      • 1970-01-01
      • 1970-01-01
      • 2013-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多