Сначала установил 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.
Комментариев нет:
Отправить комментарий