Bitrix pe

Probleme după mutarea sub Nginx + php

Atunci când se deplasează din configurația serverului web Apache 2.4 + mod_php5 pe configurația Nginx + php-fpm (fișiere php.ini, versiunea și seturi de module PHP sunt identice), iar administratorii webmasteri se confruntă cu probleme de proprietăți diferite.

Astfel de probleme pot fi exprimate în diferite moduri. De exemplu - nu sunt editate teme și mesaje offline. Când încercați să editați un mesaj deconectat apare forma de editare, dar toate câmpurile sunt goale, care nu au conținut. Acest lucru se datorează script-urile parametrii de transfer PHP, precum și traducerea imperfectă a normelor .htaccess pentru a Nginx reguli.

În acest articol voi prezenta configurația corectă cu puțină explicație, ceea ce face parte

nginx configurare corectă + php-fpm pentru Bitrix

Declarația problemei

Site-ul pentru care a fost necesară pentru a rezolva toate aceste probleme, există, de asemenea, CNC, cu ambele cu un slash la sfârșitul anului, și fără ea, și pagina cu parametrii în interogare! Acest lucru nu este incontestabil permisă utilizarea rețelei găsite în „Nginx gata-config“. Și toată experiența mea SEO arată că adresele URL vechi vizitate trebuie să-l comoara.

De fapt gazdă config Nginx

Module Instalat php

Parametrii critici php.ini

/usr/local/etc/php.ini editat în conformitate cu cererile Bitrix

Nu se poate încărca imaginea în oricare dintre interfețele pentru a lucra cu un conținut

Mesaj: „Nu creați un director temporar pentru a descărca“ imaginile de pe site-ul.

Toate încercările de a contacta suportul tehnic și căutări web duce la un singur răspuns - „face un drept și proprietarul drept al directorului și fișiere.“ Cu toate acestea, acest lucru nu va ajuta! Acesta intră într-o problemă pe care calea absolută pe site-ul rădăcină viroaga diferite pe diferite hosting (de exemplu, vibrante de mai jos), și modul în care restaurarea dintr-o copie de rezervă (restore.php) nu corectează căile conținute în baza de date haldei:
  1. / Home / t / traumatismelor / public_html / - rădăcina site-ului pe vechiul hosting
  2. /home/www/servers/trauma.ru/html/ - rădăcină a site-ului la un nou hosting
Există două versiuni ale fix:
  1. Disponibil server hosting numai sysadmin, dar simplu:
    mkdir -p / home / t / trauma
    ln -s /home/www/servers/trauma.ru/html/ / home / t / traumă / public_html
  2. Disponibil suport tehnic Bitrix: Mi-ar plăcea să restore.php:
    1. Este afișat pe ecranul corespunzător informații despre ceea ce este în prezent calea DOCUMENT_ROOT, și ceea ce a salvat în rezervă. Chiar dacă acestea sunt aceleași.
    2. La instalarea caseta de selectare pentru a detecta automat și calea completă corectă la rădăcina site-ului conținut în rezervă haldei de la vechiul la noul stat

La accelerarea Bitrix

Dacă te-ai uitat în bara de viteză, probabil că ați văzut cerința Bitrix pentru sistemul de fișiere de viteză este nu mai puțin de 10.000 de tranzacții pe secundă. În realitate, există un gazde web relativ ieftine, care ar satisface această cerere sălbatice, ca și subsistemul de disc cache spălate foarte repede departe atunci când se utilizează acest CMS.

Setarea site-ului Avtokompozitnogo în aceste condiții nu aduce saltul radicală dorit în performanță, cu toate acestea.

Site-ul MosrentgenTsentra pagina HTML timpul de descărcare de pe server a scăzut de la 1,5-6 secunde până la 0.08-1.5 secunde doar ca urmare a setărilor descrise mai jos.

Etapele necesare în FreeBSD (10+ versiune)

Testarea altor opțiuni de accelerare

memcached + nginx

Am încercat să fac pagina cache Bitrix în întregime sub formă de HTML, și să le întoarcă prin Nginx.

Online Am găsit menționa că stochează datele Memcached ambalate dezumfle, și chiar dacă Nginx în mod explicit add_header dezumfle Content-Encoding; înainte de a localhost memcached_pass: 11211; - memcached nu trage titlul corect brausera dezumfle și brausery spectacol sau un mesaj despre un enkoding sau de afișare gunoi invalid în locul paginii. Pentru acest lucru a fost necesar pentru a opri comprimarea și ambalarea de conținut gzencode / gzdecode memcached. De ce am schimbat fișierul /bitrix/modules/main/lib/data/memcachedconnection.php urmează (ca oprire alocat) și edita config destul de complicat mod nginx'a (rechemare pentru a avea trauma.ru CNC și pagini cu parametrii ! Legat de compresie șir de interogare etichetat astfel) cu toate acestea, o comparație arată că versiunea pieselor anterioare (Avtokompozit + memcached), care este, Nginx returnează pagini bate stocarea inteligenta a pieselor în memcached să se întoarcă prin infrastructura bitrix. Iată o imagine vizuală:

Bitrix pe

Nginx ca un proxy inversă pentru Apache

munca Nginx ca agent de cache în cazul fișierelor lor privind sistemul de fișiere se justifică doar la o viteză mult mai mare a sistemului de fișiere și discul decât sunt disponibile pentru mine (sub testele Bitrix - 600 de operațiuni), deoarece rezultatele au fost mai jalnică decât „absolut nici un cache“.

Acesta costă RAM aceeași pe configurația Apache a făcut acest lucru chiar mai puțin de dorit.

Probleme cu SSL pe PHP 5.6+

Eu sunt în prezent în imposibilitatea de a se asigura că conexiuni de ieșire de la codul PHP nemodificat Bitrix garantat de a lucra pentru conexiuni SSL (de exemplu, de pe YouTube plugin acc).

Fix-l în codul PHP poate fi după cum urmează (cum a fost subliniat adăugat): Dar trebuie să fie făcut pentru practic orice conexiune! Ce este deprimant.