nginx: connect () failed (111: Connection refused) podczas łączenia z upstream

80

Próbuję wdrożyć mój pierwszy portal.

Otrzymuję błąd przekroczenia limitu czasu bramy 502 w przeglądarce, gdy wysyłałem żądanie przez przeglądarkę

kiedy sprawdziłem logi, dostałem ten błąd

 2014/02/03 09:00:32 [error] 16607#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 14.159.131.19, server: foo.com, request: "GET HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "22.11.180.154"

czy jest jakiś problem związany z uprawnieniami

Abhishek Tripathi
źródło
2
dodaj informacje, aby pomóc zrozumieć problem, konfigurację, co zrobiłeś? jakie linki są zepsute i czy działają, czy nie itp.
Mohammad AbuShady,
2
mój problem został rozwiązany ... nie zainstalowałem php na moim serwerze
Abhishek Tripathi
@lucky Więc myślę, że lepiej zamknąć to pytanie.
Farsheed

Odpowiedzi:

91

Nie sądzę, aby to rozwiązanie i tak zadziałało, ponieważ w pliku dziennika błędów pojawi się komunikat o błędzie.

Rozwiązanie było dużo łatwiejsze niż myślałem.

po prostu otwórz następującą ścieżkę do twojego php5-fpm

sudo nano /etc/php5/fpm/pool.d/www.conf

lub jeśli jesteś 'rootem' administratora

nano /etc/php5/fpm/pool.d/www.conf

Następnie znajdź tę linię i usuń komentarz:

listen.allowed_clients = 127.0.0.1

To rozwiązanie sprawi, że będziesz mógł używać Listen = 127.0.0.1:9000 w swoich blokach vhost

w ten sposób: fastcgi_pass 127.0.0.1:9000;

po wprowadzeniu modyfikacji wystarczy ponownie uruchomić lub załadować ponownie Nginx i Php5-fpm

Php5-fpm

sudo service php5-fpm restart

lub

sudo service php5-fpm reload

Nginx

sudo service nginx restart

lub

sudo service nginx reload

Z komentarzy:

Również skomentuj

;listen = /var/run/php5-fpm.sock 

i dodaj

listen = 9000
Witryna cyfrowa
źródło
30
listen = 9000i;listen = /var/run/php5-fpm.sock
n611x007
1
W CentOS 7 ten plik był /etc/php-fpm.d/www.confdla mnie i musiałem dodawać listen = 9000i komentować listen = /var/run/php-fpm/php-fpm.sock.
ćpun
2
Dlaczego nie zmienić konfiguracji NGINX, aby używać gniazd zamiast localhost: 9000? Zmieniając fastcgi_passlinię na „astcgi_pass unix:/run/php/php7.0-fpm.sock;
KNejad
0

Miałem ten sam problem, kiedy napisałem dwa upstreams w NGINX conf

upstream php_upstream {
    server unix:/var/run/php/my.site.sock;
    server 127.0.0.1:9000;
}

...

fastcgi_pass php_upstream;

ale /etc/php/7.3/fpm/pool.d/www.confwsłuchałem się tylko w gniazdo

listen = /var/run/php/my.site.sock

Więc potrzebuję tylko gniazda, żadnego 127.0.0.1:9000, i właśnie usunąłem port IP + upstream

upstream php_upstream {
    server unix:/var/run/php/my.site.sock;
}

Można to przepisać bez upstream

fastcgi_pass unix:/var/run/php/my.site.sock;
and1er
źródło