nginx 错误日志显示 worker 连接不足

nginx 错误日志显示 worker 连接不足

加载 https 网页时出现错误“500 内部服务器错误”。nginx error.log 显示“连接到上游时 1024 worker_connections 不足”

该网站位于 nginx 反向代理后面。它无需反向代理即可运行。代理后面的另一个网站正在运行。

nginx 版本:nginx/1.16.0

尝试将工作连接数一直增加到 20480。配置对我来说似乎没问题。可能是错的。以下是配置文件。重新加载 nginx,重新启动 nginx。

nginx.conf

user  nginx;
worker_processes   8;
worker_rlimit_nofile 100480;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}

#Use multiple worker processes
#work_processes auto;

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

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

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;

    #disable server tokens
    server_tokens off;

}

服务器配置文件

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://example.com$request_uri;

}


server {
   listen 443 ssl;
   server_name example.com www.example.com;

   ssl_certificate         /etc/nginx/cert.pem;
   ssl_certificate_key     /etc/nginx/cert.key;
   ssl_trusted_certificate /etc/nginx/cert.crt;

   location / {
        proxy_pass https://example.com;

   }

   location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

}

任何帮助都将不胜感激。

答案1

您的server块在端口 443 上接受连接,然后尝试将proxy_pass它们返回到自身。这会导致循环,最终会与自身建立 1024 或 20480 个连接,然后您会收到错误worker connections are not enough

为了解决这个问题,请修复proxy_pass并将请求传递到它实际应该去的地方。

相关内容