17.04.2011 г.

Перенос 1С-Битрикс (CMS 1С-Bitrix) на nginx

В данной статье мы займемся переносом сайта на bitrix (CMS 1C-Битрикс) с apache mod_php на nginx с php-fpm. Данная конфигурация - nginx + php-fpm удобна тем, что позволяет нам задать максимальное фиксированное количество процессов на сервере, тем самым максимально сэкономить используемую оперативную память.

битрикс на nginx

Итак, ставим 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 имел все права на него.

 
« Пред.   След. »
Отзывы клиентов
 

код кнопки:
Мы принимаем: Webmoney Яндекс.Деньги RBK.Деньги Visa и MasterCard Счет юр.лицам Приват 24 Z-Payment MoneyBookers Все способы оплаты
                  
Размещение сайта на Хостинг Хуторе: виртуальный хостинг | vds/vps (Украина) | vps в Европе | выделенный сервер
© 2008-2012 HostingHutor.com - Украина, Одесса. Тел/факс: +3 048 7017698  | "Бабах!" - раскрутка сайтов и поисковый маркетинг.3wave - Дизайн сайтов
Хостинг Хутор: землю - крестьянам, хостинг - вебмастерам! Гос. рег. в Украине В03№991379. П.н. №3166520272Вебмастеру в помощь - Askwebmaster