首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx错误"1024 worker_connections不够用“

Nginx错误"1024 worker_connections不够用“
EN

Stack Overflow用户
提问于 2019-06-23 19:33:51
回答 1查看 9.7K关注 0票数 1

我的网站运行在Docker Image中,使用的是带有反向代理的Nginx。网站在繁忙的流量下完美地工作了几个小时,但最终它停止了工作,没有给出任何响应,并出现5**超时错误。在AWS Elastic Beanstalks Nginx-log中,我发现此错误-消息:

警报18037#0: 1024 worker_connections不够

我担心我的自定义Nginx-config有问题,但我不知道它是什么。附加了https-redirect-docker-sc.config中的代码。

我尝试调试代码以查找任何内存泄漏或循环,但我找不到任何解决方案。

代码语言:javascript
复制
   files:
   "/etc/nginx/sites-available/elasticbeanstalk-nginx-docker-proxy.conf":
   owner: root
   group: root
   mode: "000755"
   content: |
   map $http_upgrade $connection_upgrade {
          default        "upgrade";
          ""            "";
   }

   server {
       listen 80;
       server_name mydomain.no;

       return 301 https://www.mydomain.no$request_uri;
   }   

   server {
       listen 80 default_server;

       gzip on;
       gzip_comp_level 4;
       gzip_types text/html text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

       if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})T(\d{2})") {
           set $year $1;
           set $month $2;
           set $day $3;
           set $hour $4;
       }
       access_log /var/log/nginx/healthd/application.log.$year-$month-$day-$hour healthd;

       access_log    /var/log/nginx/access.log;

       location / {
           set $redirect 0;
           if ($http_x_forwarded_proto != "https") {
             set $redirect 1;
           }
           if ($http_user_agent ~* "ELB-HealthChecker") {
             set $redirect 0;
           }
           if ($redirect = 1) {
             return 301 https://$host$request_uri;
           }

           proxy_pass            http://docker;
           proxy_http_version    1.1;

           proxy_set_header    Connection            $connection_upgrade;
           proxy_set_header    Upgrade                $http_upgrade;
           proxy_set_header    Host                $host;
           proxy_set_header    X-Real-IP            $remote_addr;
           proxy_set_header    X-Forwarded-For        $proxy_add_x_forwarded_for;
       }
   }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-24 01:38:27

Nginx worker_connections的默认值是1024,这对您来说是不够的。

在nginx.conf中的http之前添加事件块,这样看起来就像这样:

代码语言:javascript
复制
events {
  worker_connections  4096;  ## Default: 1024
}

http {
  include    conf/mime.types;
  .....
}

您还可以增加worker_processes的数量(默认值= 1),以便您的服务器可以处理的连接总数为worker_processes* worker_connections

请在这里检查full example configuration

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56723449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档