Недостаточно рабочих процессов при попытке доступа к сайту с помощью NGINX

Недостаточно рабочих процессов при попытке доступа к сайту с помощью NGINX

Я пытаюсь создать Sonarqube в виртуальной машине Ubuntu с Vagrant и Nginx. Я выполнил все шаги, но когда я пытаюсь получить доступ, я получаю 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-файл:

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

Theучебник, который вы цитируетесодержит опечатку.NginxКонфигурация должна выглядеть так

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

Сюдаnginxбудет доступен под http://<server's IP>/, в то время как Sonarqube под http://<server's IP>:9000/. КстатиSonarqubeне запущен на вашем сервере, в противном случаеnginxне удалось использовать порт 9000.

Что происходит сейчас: когда приходит запрос,nginxпересылает запрос 127.0.0.1:9000, т.е. себе. Это вызывает бесконечный цикл пересылок, который заканчивается, когдаnginxне хватает рабочих, чтобы с ними справиться.

Вам следует сообщить автору учебника об опечатке.

Связанный контент