Configurarea legărilor serverului nginx apache fastcgi

În articolul precedent, "Instalarea și configurarea serverului Web Nginx ca Front Proxy pentru Apache", a fost luată în considerare o versiune simplă a instalării și utilizării Nginx. cu setările implicite, ca server proxy, cu serverul Apache ca backend proxy.







În acest articol, aș dori să vorbesc despre o versiune mai complexă a instalării și a configurației Nginx. pentru a construi un pachet de Nginx Apache FastCGI. Pentru organizarea serverului FastCGI, vor fi folosite utilitare, spawn-fcgi. anterior parte a serverului web lighttpd. și acum alocate unui port separat.

Nginx - Apache - schema de legare FastCGI. este după cum urmează:

Configurarea legărilor serverului nginx apache fastcgi

  • Toate cererile statice (fișiere HTML, imagini) vor fi gestionate de serverul web Nginx, după care rezultatul va fi emis clientului;
  • Solicitările pentru scripturile CGI și Perl (fișiere CGI, PL) vor fi trimise către Apache pentru procesare. după procesare, rezultatul va fi transferat către Nginx și dat clientului;
  • Toate cererile pentru scripturile PHP vor fi redirecționate către serverul FastCGI, după procesare, rezultatul va fi din nou returnat către Nginx și eliberat clientului;

Deci, ceea ce avem: sistemul de operare FreeBSD 7.1 STABLE (platforma amd64), serverul web instalat Apache / 2.2.9. Instalarea Nginx a fost efectuată cu următoarele opțiuni:

PHP cu suport pentru interfață FastCGI

Configurarea serverului Nginx. o vom face un pic mai tarziu, mai intai vom configura serverul FastCGI, setand tot ce ai nevoie. Ce este, FastCGI. În sens general, este un protocol de comunicare între serverul web și aplicația nu depinde de limba de aplicare este mult mai eficient și mai sigur decât CGI convenționale. Pe scurt, un program CGI normal, un server web, trebuie rulat la fiecare cerere, în timp ce FastCGI. păstrează constant procesul de funcționare, care servește, de asemenea, cererile de intrare. Mai mult server web comunică cu serverul FastCGI, prin așa-numitul „socket domeniu Unix“ sau prin TCP / IP, spre deosebire de CGI convențional, care interacționează cu serverul printr-un standard de intrare / ieșire, care permite server de poziționare FastCGI, nu numai în într-o singură mașină, dar și în orice altă parte a rețelei.







În contextul acestui material, vorbim despre limbajul PHP, asamblat cu sprijinul FastCGI și lansat folosind o aplicație specială.

Pentru a sprijini acest mod de operare, PHP, ar trebui să fie compilate cu opțiunile corespunzătoare și au binar necesare sunt necesare următoarele opțiuni pentru PHP construi cu suport FasCGI și pentru a asigura nivelul necesar de securitate (fișier executabil, implicit php-cgi.):

--activați-FastCGI
--enable-force-cgi-redirect
--activați-aruncați-cale

Celelalte opțiuni se bazează pe nevoile dvs.

Pentru a examina opțiunile pe care le-a construit PHP, puteți face acest lucru:

Instalarea și configurarea spawn-fcgi pentru rularea serverului PHP FastCGI

Procesul de asamblare și instalare durează mai puțin de un minut. După finalizare, vor fi create mai multe fișiere:

/ usr / local / bin / spawn-fcgi # Fișier de program rulat
/usr/local/etc/rc.d/spawn-fcgi # Începeți scriptul pentru a rula serverul FastCGI

De obicei, eu folosesc un Unix Socket pentru serverul de comunicare Nginx cu serverul FastCGI (deși în cazul oricăror probleme, puteți utiliza TCP / IP), asa ca du-te pentru a edita scriptul de pornire să-l aducă la acest tip de variabile:

Nu uitați să adăugați linia spawn_fcgi_enable = "YES" la scriptul de start /etc/rc.conf. pentru a porni serverul FastCGI la pornirea sistemului.

Încercați să rulați spawn-fcgi:

Serverul FastCGI este gata de utilizare

Configurarea serverului web Apache

Configurarea serverului web Nginx, pentru a lucra cu Bacand, Apache și FastCGI

Să trecem la fișierul de configurare.

Ar fi de dorit să se constate că forma finală a fișierului de configurare Nginx depinde de sistemul dvs. special, care este, de exemplu, diverse timeout-uri, mărimea și numărul de tampoane antete transmise, etc. ar trebui să fie stabilite, plecând de la sarcinile rezolvate pe serverul dat. Prin urmare, pentru a da recomandări în stil, "pune atât de mult și atât de mult și scrie acest lucru, deoarece lucrează pentru mine", consider că este inadecvat.

Aici avem versiunea de lucru a fișierului de configurare nginx, ca să spunem așa, fără clopote și fluiere, doar minimul necesar. Se pare ca aceasta:

Verificăm corectitudinea fișierului de configurare:

În regulă, puteți alerga

Să verificăm ce avem pe netstat:

și puneți-o în directorul rădăcină al documentelor site-ului. Acum, solicitând-o prin browser, vom vedea pagina PHP. cu o grămadă de informații tehnice, inclusiv opțiuni de construire, setări, module, extensii, fișiere de configurare etc. Găsiți șirul Server API. și vedem în ce mod funcționează PHP pe această gazdă, aceasta este pentru noi, CGI / FastCGI. adică, ceea ce am avut nevoie.

Verificați dacă restul Locației. să lucrați în mod corespunzător, să transmiteți cererile către Bacandam, puteți să creați fișierul necesar, să îl solicitați prin șirul de browser și să verificați fișierele jurnal. Asta este, interogarea fișierului test.pl. pot fi găsite în fișierul access.log. gazdă virtuală, server Apache. dar o cerere la fișierul test.html. în fișierul log al serverului web Nginx.

În acest moment, aș vrea să termin. Mult noroc.







Articole similare

Trimiteți-le prietenilor: