Как связать php-fpm и nginx на WSL Windows 10

Поскольку WSL — не совсем Linux, настройка имеет свои особенности.
После того, как из bash были установлены MySQL, nginx и php7.2, в nginx настроен виртуальный сервер всё это отказалось работать. В логах nginx была такая запись:

connect() to unix:/var/run/php/php7.2-fpm.sock failed (2: No such file or directory) while connecting to upstream

В WSL насколько мне известно, нет сокетов как таковых, поэтому пришлось открыть файл /etc/php/7.2/fpm/pool.d/www.conf, и исправить значение директивы listen

; listen = /run/php/php7.2-fpm.sock ; old value
listen = 127.0.0.1:9000 ; new value

установить то же значение в настройке виртуального сервера nginx

location ~ \.php$ {
...
fastcgi_pass 127.0.0.1:9000;
...
}

Это дало вроде как работающий сервер. Вроде как потому что каждый запрос от обрабатывал очень медленно. Аж по самый time limit. Для избавиться от тормозов, как оказалось, следует добавить строку в файл /etc/nginx/nginx.conf

http {
...
fastcgi_buffering off;
...
}

После этого все заработало как надо!


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Unlix.ru © Все права защищены 2015 - 2024

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!