Bitrix на

Проблеми след преместването под Nginx + PHP

Когато се движи от конфигурацията на уеб сървър Apache 2.4 + mod_php5 от конфигурацията на Nginx + PHP-FPM (php.ini файловете, версия и определя PHP модули са идентични) и администраторите на уеб администратори, са изправени пред проблеми, свързани с различни свойства.

Тези проблеми могат да бъдат изразени по различни начини. Например - не се редактира теми и съобщения офлайн. Когато се опитате да промените съобщението на линия се появява форма за редактиране, но всички полета са празни, не съдържат съдържание. Това се дължи на скриптове трансфер параметри PHP, както и несъвършен превод на .htaccess правила за Nginx правила.

В тази статия представяме правилната конфигурация с малко обяснение, което го прави част

Правилната конфигурация Nginx + PHP-FPM за Битрикс

Изявление на проблема

Сайтът за които е било необходимо за решаване на всички тези проблеми, има и CNC, като и двете с наклонена черта в края, и без него, и на страницата с параметрите в запитването! Това определено не е позволено да използвате някоя от мрежата намерени в "готови конфигурационния Nginx". И всичко ми опит показва, че SEO стари посетени URL адреси трябва да го ценим.

Всъщност домакин конфигурационния Nginx

Инсталирана модули PHP

Критичните параметри php.ini

/usr/local/etc/php.ini редактиран в съответствие с исканията Битрикс

Не може да се зареди снимката в някой от интерфейсите за работа със съдържание

Съобщение: "Да не се създаде временна директория, за да изтеглите" снимките на място.

Всички опити да се свържат с техническа помощ и търсения в интернет водят до еднозначен отговор - ". Направите правилно и със собственика на правата на директорията и файлове" Все пак, това не помага! Тя навлиза в проблем, че абсолютната пътя към сайта на основното клисура различно на различни хостинг (жизнена примера по-долу), както и как да се възстанови от резервно копие (restore.php) не се коригира пътищата, съдържащи се в базата данни на сметището:
  1. / Начало / т / травма / public_html / - основата на мястото на стария провеждане
  2. /home/www/servers/trauma.ru/html/ - корен на сайта на нов хостинг
Има две версии на поправката:
  1. Предлага се само администратор хостинг сървър, но просто:
    защитен режим -р / Начало / т / травма
    LN -s /home/www/servers/trauma.ru/html/ / Начало / т / травма / public_html
  2. Предлага се за техническа поддръжка Битрикс: Бих се радвал да restore.php:
    1. Се показва на екрана, съответстващ на информация за това, което е в момента DOCUMENT_ROOT път, и това, което запазва в архива. Дори и ако те са едни и същи.
    2. При инсталиране на отметката за автоматично откриване и правилно пълния път до схемата на сайта се съдържа в архива на сметище от старата към новата държава

На ускоряване Bitrix

Ако погледна в лентата за скорост, най-вероятно видях изискването Битрикс за скорост на файловата система не е по-малко от 10 000 транзакции в секунда. В действителност, има сравнително евтини хостинги, които ще отговарят на това диво търсене, тъй като подсистема на кеша на диска много бързо отмива, когато използвате този CMS.

Създаване Avtokompozitnogo място при тези условия не води до желания радикален скок в слабо, обаче.

сайт MosrentgenTsentra Време за изтегляне HTML страница, от сървъра намаля от 1.5-6 секунди, за да 0.08-1.5 секунди само като резултат от настройките, описани по-долу.

Необходимите стъпки в FreeBSD (10+ версия)

Тестване на други възможности за ускорение

Memcached + Nginx

Опитах се да направя страница кеширане Битрикс изцяло под формата на HTML, и да ги върне чрез Nginx.

Онлайн открих споменава, че данните Memcached магазини опаковани в опровергавам, и дори ако Nginx изрично add_header Content-Encoding дефлиране; преди memcached_pass Localhost: 11211; - Memcached не рисува правилното заглавие за дефлиране brausera и brausery шоу или съобщение за невалиден enkoding или дисплей боклук вместо на страницата. За това е необходимо да се изключи компресията и опаковане чрез Memcached съдържание gzencode / gzdecode. Защо смених файла /bitrix/modules/main/lib/data/memcachedconnection.php следва (както е разпределена спиране) и редактиране на конфигурационния доста сложен начин nginx'a (отзоваване да има trauma.ru И CNC и страници с параметри ! във връзка с компресията на низ на заявката така етикетирани) Въпреки това, сравнението показва, че версията на предишните пиеси (Avtokompozit + Memcached), а именно, Nginx връща страници бие интелигентен съхранение на парчета в Memcached да се върне през Битрикс инфраструктура. Ето един визуален образ:

Bitrix на

Nginx като обратната прокси за Apache

Nginx работа като кеширане агент в случая на своите файлове на файловата система е оправдано само при много по-голяма скорост на файловата система и диска от които мога да използвам (при тестове Битрикс - 600 операции), тъй като резултатите са по-жалки от "абсолютно никакъв кеш".

Това струва на същата RAM от конфигурацията Apache направи това още по-малко желателно.

Проблеми с SSL на PHP 5.6+

В момента съм в състояние да гарантира, че изходящи връзки от непроменен PHP код Битрикс гарантирано да работят за SSL връзки (например от YouTube съгл плъгин).

Решете в кода на PHP може да бъде, както следва (както се подчертава добавената): Но това трябва да се направи за почти всяка връзка! Какво е депресиращо.