Переключаем bitrixvm на php-fpm

233
Алексей,
Переключаем bitrixvm на php-fpm
Переключаем bitrixvm на php-fpm

Простой способ переключиться на php-fpm на стандартном битрикс окружении

Простой способ переключиться на php-fpm в стандартном битрикс окружении.

Для начала устанавливаем сам php-fpm и запускаем его

yum install php-fpm
systemctl start php-fpm

Далее добавляем конфиг nginx: /etc/nginx/bx/site_settings/default/z_bx_custom.conf, где default - ваш сайт.

location / {
	location ~ [^/]\.ph(p\d*|tml)$ {
		try_files /does_not_exists @php;
	}
}
if (!-e $request_filename) {
  rewrite  ^(.*)$  /bitrix/urlrewrite.php last;
}
location @php {
	fastcgi_index index.php;
	fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
	fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
	try_files $uri =404;
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	include fastcgi_params;
}
location ~ /\.git {
  deny all;
}

Т.к. нельзя переопределить location / {}, его придётся убрать из /etc/nginx/bx/conf/bitrix.conf. Будьте внимательны, эта правка слетит при обновлении окружения.

Перезапускаем nginx:

systemctl restart nginx

Готово. Чтобы узнать в каком режиме у вас работает php, можно выполнить код:

echo php_sapi_name(); // должно быть fpm-fcgi

Теперь можно отключить apache, он больше не нужен.
У меня всё заработало именно в таком варианте. Но, если что, стоит проверить настройки php-fpm: /etc/php-fpm.d/www.conf, должны быть такие параметры (помимо остальных):

listen = /var/run/php-fpm/php-fpm.sock
user = bitrix
group = bitrix
listen.owner = bitrix
listen.group = bitrix
listen.mode = 0660

И еще, я не спец по nginx, конфиг подсмотрел с разных источников, если есть что добавить, пишите, буду рад обсудить.

Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.

Опубликовано 11 февраля 2023 | Обновлено 14 февраля 2023
php, php-fpm, web-сервер, nginx
Поделиться
Комментарии
Авторизуйтесь чтобы получать уведомления об ответе
Антон
22 май 2023
Добрый! Поставил все как у вас написано не работает авторизация админки
Простой способ переключиться на php-fpm на стандартном битрикс окружении