Страницы

Поиск по вопросам

понедельник, 8 июля 2019 г.

504 Gateway Time-out Winginx

Сначала установил Winginx в системную папку на компьютере, очень зря.. Что я понял уже довольно поздно. Все работало до тех пор пока мне не пришлось орудовать файлами на сервере и пришлось переместить сервер в другое место. Удалил всю папку WinGinx, включил установщик, поставил заново в "C:\Winginx".
Проверил localhost, все работает, добавил новый проект, кинул туда файлы с прежнего сервера, получаю "504 Gateway Time-out". Долго мучался с таймаутами, поставил fastcgi_connect_timeout 10;, но это были 10 секунд бесполезного ожидания, а ведь раньше я ничего даже не надстраивал что бы сайт работал.
localhost/phpinfo.php работает нормально, но другие проекты не запускают php файлы почему-то. На localhost по умолчанию нет своих конфигов, я ничего и не ставил. Любой проект грузят все файлы кроме .php.
В логах при подключении получаю такую ошибку:
[notice] signal process started [error] 16060#7760: *17 upstream timed out (10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond) while connecting to upstream, client: 127.0.0.1, server: мой домен, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "мой домен"
Что это такое? В прошлый раз все ведь отлично работало! Тем более что говорит что проблемы с таймаутами, этого быть не может. Сайт ничем не нагруженный, да и в прошлый раз таймауты я не менял. Плюс я ставил таймауты до 60с, что просто затянуло время ожидания до ошибки 504.
Я порылся в сети на эту тему, нашел информацию про php-fpm, но так и не понял что это и зачем, хотя многие запрашивали конфиги этого, а у меня их нет нигде, я проверил все.
В конфигах nginx есть строчка:
fastcgi_pass localhost:9071;
В конфигах сайта есть похожая строка:
fastcgi_pass 127.0.0.1:9000;
Когда я посмотрел какие порты чем заняты, я заметил что порт 9000 отсутствует вовсе, а порт 9071 занят процессом php-cgi.exe. (хотя по умолчанию должен быть порт 9000, а я ничего не менял).
Использую Winginx, Windows 10, nginx version 1.12.0, PHP Version 7.1.5. Если нужна какая-либо дополнительная информация - спрашивайте, я не уверен что еще стоит предоставить для решения вопроса.
Благодарю за внимание!

Конфиги сайта выглядят так, я их даже не менял: server { listen 127.0.0.1:80; server_name music-portfolio.com www.music-portfolio.com; root home/music-portfolio.com/public_html/; index index.php index.html; log_not_found off; access_log logs/music-portfolio.com-access.log; charset utf-8; location ~ /\. { deny all; } location = /favicon.ico { } location = /robots.txt { } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; include fastcgi_params; } }
nginx.conf:
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; pid temp/nginx.pid; events { worker_connections 1024; } http { server_names_hash_bucket_size 128; include 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 logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; client_max_body_size 55m; #gzip on; scgi_temp_path temp/uwsgi_temp 1 2; uwsgi_temp_path temp/uwsgi_temp 1 2; fastcgi_connect_timeout 1; server { listen 127.0.0.1:80; root home/localhost/public_html; index index.php index.html; log_not_found off; charset utf-8; access_log logs/access.log main; location ~ /\. {deny all;} location / { if ($host ~ ^(www\.)?([a-z0-9\-\.]+)$){ root home/$2/public_html; access_log logs/$2-access.log main; } } location ~ \.php$ { if ($host ~ ^(www\.)?([a-z0-9\-\.]+)$){ root home/$2/public_html; access_log logs/$2-access.log main; } if (!-e $document_root$document_uri){return 404;} fastcgi_pass localhost:9071; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } server { listen 127.0.0.1:443; include ssl.conf; root home/localhost/public_html; index index.php index.html; log_not_found off; charset utf-8; access_log logs/access.log main; location ~ /\. {deny all;} location / { if ($host ~ ^(www\.)?([a-z0-9\-\.]+)$){ root home/$2/public_html; access_log logs/$2-access.log main; } } location ~ \.php$ { if ($host ~ ^(www\.)?([a-z0-9\-\.]+)$){ root home/$2/public_html; access_log logs/$2-access.log main; } if (!-e $document_root$document_uri){return 404;} fastcgi_pass localhost:9071; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } include tools-*.conf; include vhosts/*.conf; }


Ответ

По результату обсужения в комментариях.
Очень странное поведение системы. Я предлагаю переставить в нуля nginx и прописать в конфиге fastcgi_pass 127.0.0.1:9071 вместо 127.0.0.1:9000, т.к. судя по всему обработчик php висит на порту 9071, а не на 9000.

Комментариев нет:

Отправить комментарий