nginx: не вдалося підключитися () (111: підключення відхилено) під час підключення до вищого рівня


80

Спроба розгорнути мій перший портал.

Я отримую повідомлення про помилку часу очікування шлюзу 502 у браузері, коли я надсилав запит через браузер

коли я перевірив журнали, я отримав цю помилку

 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"

чи є якісь проблеми, пов’язані з дозволами


2
будь ласка, додайте інформацію, щоб допомогти зрозуміти проблему, вашу конфігурацію, що ви робили? які посилання порушені, і якщо якісь роботи працюють чи ні, тощо
Мохаммад АбуШаді

2
моя проблема була вирішена .... я не встановив php на своєму сервері
Abhishek Tripathi


@lucky Тому я думаю, що краще закрити це питання.
Farsheed

Відповіді:


91

Я не думаю, що рішення все одно буде працювати, оскільки ви побачите повідомлення про помилку у своєму журналі журналу помилок.

Рішення було набагато простішим, ніж те, що я думав.

просто відкрийте наступний шлях до вашого php5-fpm

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

або якщо ви адміністратор "root"

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

Тоді знайдіть цей рядок і прокоментуйте його:

listen.allowed_clients = 127.0.0.1

Це рішення допоможе вам використовувати liste = 127.0.0.1:9000 у своїх блоках vhost

так: fastcgi_pass 127.0.0.1:9000;

після внесення змін вам потрібно лише перезапустити або перезавантажити як Nginx, так і Php5-fpm

Php5-fpm

sudo service php5-fpm restart

або

sudo service php5-fpm reload

Nginx

sudo service nginx restart

або

sudo service nginx reload

З коментарів:

Також коментуйте

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

і додати

listen = 9000

30
listen = 9000та;listen = /var/run/php5-fpm.sock
n611x007

1
На CentOS 7 цей файл був /etc/php-fpm.d/www.confдля мене, і мені довелося додавати listen = 9000та коментувати listen = /var/run/php-fpm/php-fpm.sock.
наркоман

2
Чому б не змінити конфігурацію NGINX на використання сокетів замість localhost: 9000? Змінивши fastcgi_passрядок на "astcgi_pass unix:/run/php/php7.0-fpm.sock;
KNejad

0

У мене була та ж проблема, коли я написав два висхідних потоки в NGINX conf

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

...

fastcgi_pass php_upstream;

але /etc/php/7.3/fpm/pool.d/www.confя слухав лише розетку

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

Тому мені потрібен лише сокет, жодного 127.0.0.1:9000, і я просто видалив порт IP + вище

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

Це може бути переписано без вищого потоку

fastcgi_pass unix:/var/run/php/my.site.sock;
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.