FastCGI (Nginx + PHP-FPM) Есть решение
Перевел сервер на Fastcgi Nginx PHP-FPM версия php-7.2, взял настройки из инструкции: https://developers.webasyst.ru/docs/installation/tips/nginx-fastcgi/
Все нужные параметры изменил под свои, но выдает просто белую страницу с кодом 200, без каких либо ошибок,
Если в location /index.php убраю / и пишу так: location index.php, то открывается только главная страница, на любые разделы сайта ошибка 404
Полный конфиг для сайта:
server { listen 11.11.xx.xx:80; server_name domain.ru; root /home/admin/web/domain.ru/public_html; index index.php; access_log /var/log/nginx/domains/domain.ru.log combined; access_log /var/log/nginx/domains/domain.ru.bytes bytes; error_log /var/log/nginx/domains/domain.ru.error.log error; try_files $uri $uri/ /index.php?$query_string; location /index.php { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9003; } location /api.php { fastcgi_split_path_info ^(.+\.php)(.*)$; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9003; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } location ~ /(oauth.php|link.php|payments.php) { try_files $uri $uri/ /index.php?$query_string; } location ^~ /wa-data/protected/ { internal; } location ~ /wa-content { allow all; } location ^~ /(wa-apps|wa-plugins|wa-system|wa-widgets)/.*/(lib|locale|templates)/ { deny all; } location ~* ^/wa-(cache|config|installer|log|system)/ { return 403; } location ~* ^/wa-data/public/contacts/photos/[0-9]+/ { root /var/www/fw/; access_log off; expires 30d; error_page 404 = @contacts_thumb; } location @contacts_thumb { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9003; fastcgi_param SCRIPT_NAME /wa-data/public/contacts/photos/thumb.php; fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/contacts/photos/thumb.php; } # photos app location ~* ^/wa-data/public/photos/[0-9]+/ { access_log off; expires 30d; error_page 404 = @photos_thumb; } location @photos_thumb { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9003; fastcgi_param SCRIPT_NAME /wa-data/public/photos/thumb.php; fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/photos/thumb.php; } # end photos app # shop app location ~* ^/wa-data/public/shop/products/[0-9]+/ { access_log off; expires 30d; error_page 404 = @shop_thumb; } location @shop_thumb { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9003; fastcgi_param SCRIPT_NAME /wa-data/public/shop/products/thumb.php; fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/shop/products/thumb.php; } location ~* ^/wa-data/public/shop/promos/[0-9]+ { access_log off; expires 30d; error_page 404 = @shop_promo; } location @shop_promo { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9003; fastcgi_param SCRIPT_NAME /wa-data/public/shop/promos/thumb.php; fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/shop/promos/thumb.php; } # end shop app # mailer app location ~* ^/wa-data/public/mailer/files/[0-9]+/ { access_log off; error_page 404 = @mailer_file; } location @mailer_file { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9003; fastcgi_param SCRIPT_NAME /wa-data/public/mailer/files/file.php; fastcgi_param SCRIPT_FILENAME $document_root/wa-data/public/mailer/files/file.php; } # end mailer app location ~* ^.+\.(jpg|jpeg|gif|png|js|css)$ { access_log off; expires 30d; } error_page 403 /error/404.html; error_page 404 /error/404.html; error_page 500 502 503 504 /error/50x.html; location /error/ { alias /home/admin/web/domain.ru/document_errors/; } location ~* "/\.(htaccess|htpasswd)$" { deny all; return 404; } location /vstats/ { alias /home/admin/web/domain.ru/stats/; include /home/admin/conf/web/domain.ru.auth*; } include /etc/nginx/conf.d/phpmyadmin.inc*; include /etc/nginx/conf.d/phppgadmin.inc*; include /etc/nginx/conf.d/webmail.inc*; include /home/admin/conf/web/nginx.domain.ru.conf*; }
Так же поставил тестовый сайт на Drupal, взял предлагаемый ими конфиг и все сразу заработало как из коробки
Что не так с предлагаемым официально конфигом или может я что то не так делаю?
В интернете много разных универсальных конфигов под fastcgi, но хотелось бы следовать конфигу который подходит под движок, чтобы потом не было подводных камней.
5 ответов
Здравствуйте, Игорь.
Есть рабочий конфиг, правда работал под 5 версию.
Можете написать на почту - joker@tjo.biz.
Проверьте, есть ли у вас в файле /etc/nginx/fastcgi_params следующие строки:
Если нет, то их нужно добавить.
https://www.nginx.com/resources/wiki/start/topics/examples/phpfcgi/
Эти строки есть в файле /etc/nginx/fastcgi_params в операционных системах Debian & Ubuntu. Возможно, не во всех дистрибутивах так и у вас они отсутствуют.
Спасибо большое!
Все верно, указанных директив в файле fastcgi_params не хватало, CentOS 7, добавил недостающее и все заработало со стандартным конфигом из вашей документации, а до этого работало через универсальный конфиг.
Думаю стоит в документации сделать пометку и написать об этом.
может кто подскажет
настроен nginx отсюда developers.webasyst.ru
но в лог постоянно пишутся вот такие сообщения
хотя изображения на месте и страницы магазина открываются нормально с фото, почему так?
Вы можете видеть изображения на сайте из кэша...
удалите эскиззы - сформируйте заново
очистите кэш как в админке, так и браузере и на сервере
почистите wa-cache
пробуйте
Либо вы не увидите изображений на сайте, либо ошибка уйдет...
Если ошибка осталась - то нужно проверять маршрутизацию в настройках nginx
server{} для изображений