NGINX가 있는 사이트에 액세스하려고 할 때 작업자가 충분하지 않습니다.

NGINX가 있는 사이트에 액세스하려고 할 때 작업자가 충분하지 않습니다.

Vagrant와 Nginx를 사용하여 Ubuntu 가상 머신에서 Sonarqube를 생성하려고 합니다. 모든 단계를 따랐지만 액세스하려고 하면 502 BadGateway로그를 확인하면 다음과 같은 결과가 나타납니다.

2020/01/29 18:44:05 [alert] 1205#1205: 768 worker_connections are not enough
2020/01/29 18:44:05 [error] 1205#1205: *2090 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 127.0.0.1, server: sonarqube.developerinsider.co, request: "GET /favicon.ico HTTP/1.0", upstream: "

다음은 사이트에 대한 구성입니다.

upstream sonar {
 server 127.0.0.1:9000;
}

server{
listen      9000;
server_name sonarqube.developerinsider.co;

access_log  /var/log/nginx/sonar.access.log;
error_log   /var/log/nginx/sonar.error.log;

proxy_buffers 16 64k;
proxy_buffer_size 128k;

location / {
    proxy_pass  http://127.0.0.1:9000;
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
    proxy_redirect off;

}
}

이것은 내 방랑자 파일입니다.

Vagrant.configure("2") do |config|
 config.vm.box = "generic/ubuntu1804"
 config.vm.box_check_update = true
 config.vm.network "private_network", ip: "XXX.XX.XX.XX"
 config.vm.network "forwarded_port", guest: 80, host: 8081, host_ip: "127.0.0.1"
 config.vm.hostname = "tracker.tlc.vm"
 config.vm.provider "virtualbox" do |vb|
 vb.memory = "4096"
end
end

그러나 나는 그 안에 있는 Jenkins와 Nginx의 기본 사이트에 액세스할 수 있습니다. 다음 IP를 사용하여 접속을 시도합니다.http://XXX.XX.XX.XX:9000/

답변1

그만큼당신이 인용한 튜토리얼오타가 포함되어 있습니다. 그만큼엔진스구성은 다음과 같아야합니다

server {
    listen 80;
    ...
    location / {
        proxy_pass http://127.0.0.1:9000;
        ...
    }
}

이 방법nginx아래에서 사용할 수 http://<server's IP>/있으며 Sonarqube는 아래에서 사용할 수 있습니다 http://<server's IP>:9000/. 그런데소나큐브서버에서 실행되고 있지 않습니다. 그렇지 않으면nginx포트를 사용할 수 없습니다 9000.

지금 무슨 일이 일어나고 있나요? 요청이 오면nginx요청을 127.0.0.1:9000, 즉 자신에게 전달합니다. 이로 인해 무한 전달 루프가 발생하고, 이는 다음과 같은 경우에 종료됩니다.nginx그들을 처리할 일꾼이 부족합니다.

튜토리얼 작성자에게 오타를 알려야 합니다.

관련 정보