Перенос 1С-Битрикс (CMS 1С-Bitrix) на NGINX
В данной статье мы займемся переносом сайта на bitrix (CMS 1C-Битрикс) с apache mod_php на nginx с php-fpm. Данная конфигурация - nginx + php-fpm удобна тем, что позволяет нам задать максимальное фиксированное количество процессов на сервере, тем самым максимально сэкономить используемую оперативную память.
Итак, ставим php-fpm и nginx по статье Установка и настройка nginx с php fastcgi в CentOS.
Настраиваем nginx.conf исходя из того, что в Bitrix для формирования ЧПУ, используется обработчик ошибки 404, также делаем 301 редирект на сайт без начального www, если на сайт попадают с www. Итак, nginx.conf для сайта с bitrix будет таким:
server {
listen 213.133.123.40:80;
server_name hostinghutor.com www.hostinghutor.com;
# редирект на сайт без www
if ($http_host = www.hostinghutor.com) {
rewrite ^(.*)$ http://hostinghutor.com$1 permanent;
}
location / {
root /home/admin/public_html;
access_log /var/log/hostinghutor.com.access.log;
index index.php index.html index.htm;
error_page 404 = /404.php;
}
location ~ \.php$ {
root /home/admin/pulic_html;
access_log /var/log/hostinghutor.com.access.log;
# обрабатываем случай, если ccылка заканчивается /index.php
if (!-f $request_filename) {
rewrite ^(.*)$ /404.php last;
}
# тут у нас в /tmp/hostinghutor.com.sock unix-сокет php-fpm
fastcgi_pass unix:/tmp/hostinghutor.com.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/public_html$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.hta {
deny all;
}
}
Здесь у нас:
213.133.123.40 - IP-адрес сайта
hostinghutor.com - название сайта
/home/admin/public_html - корень нашего сайта
Можно еще добавить локейшен, чтобы вся статика бралась напрямую с диска, а не сначала обрабатывалась php-fpm, но можно и без этого обойтись:
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
root /home/admin/public_html;
access_log /var/log/hostinghutor.com.access.log;
error_page 404 = /404.php;
}
Естественно, php-fpm по нашему руководству должен быть настроен так, чтобы его рабочий unix-сокет был /tmp/hostinghutor.com.sock и nginx имел все права на него.
Последние новости
Скидка на все домены Украины до 21.10.2022!
Уважаемые пользователи! Целую неделю у нас скидка -15% на регистрацию всех украинских доменов по промокоду defendersday22!Подорожание ряда украинских доменов UA ccTLD!
Уважаемые пользователи! С 1 октября 2022 нас ждет подорожание в ряде украинских доменов - in.ua, od.ua, mk.ua!Важные изменения в работе ряда украинских доменных имен!
Уважаемые пользователи! В некоторых украинских доменных зонах увеличен срок периода Redemption с 30 до 60 дней.Существенное подорожание выделенных IP-адресов (IPv4) в Германии!
Уважаемые пользователи! В Германии существенно подорожали дополнительные выделенные IP-адреса (IPv4) и IP-сети.Последнее в блоге