Jinsi ya Kufunga LEMP (Linux, Nginx, MariaDB, PHP-FPM) kwenye Debian 9 Stretch


Kwa kuwa Debian ina nguvu kwa asilimia kubwa ya seva za wavuti ulimwenguni kote, katika nakala hii tutaelezea jinsi ya kusanikisha safu ya LEMP (Linux + Nginx + MariaDB + PHP-FPM) kwenye Debian 9 Stretch kama njia mbadala ya LAMP (tumia mwongozo huu). kusakinisha LAMP kwenye Debian 9).

Zaidi ya hayo, tutaonyesha jinsi ya kufanya usanidi mdogo wa Nginx/PHP-FPM ili hata wasimamizi wapya wa mfumo waweze kusanidi seva mpya za wavuti ili kusanidi kurasa zinazobadilika.

Ili kufanya hivyo, tutaongeza sasisho za hivi karibuni kwenye hazina rasmi za usambazaji. Inachukuliwa kuwa umepandisha daraja kutoka kwa Jessie.

Kufunga LEMP katika Debian 9 Stretch

Unaweza kuwa unashangaa kwa nini tulitaja PHP-FPM badala ya PHP kama sehemu ya safu ya LEMP. Kinyume na seva zingine za wavuti, Nginx haitoi usaidizi asilia kwa PHP.

Kwa sababu hiyo, PHP-FPM (Kidhibiti cha Mchakato wa Haraka) hutumiwa kushughulikia maombi ya kurasa za PHP. Unaweza kujifunza zaidi kuhusu PHP-FPM kwenye tovuti rasmi ya PHP.

Toleo chaguo-msingi lililotolewa katika hazina za Debian php7.0-fpm. Kama unavyoweza kukisia kulingana na jina la kifurushi, toleo hili linaweza kushughulikia maombi kwa kurasa pamoja na msimbo wa PHP 7.

KUMBUKA: Ikiwa Apache imesakinishwa kwenye kisanduku sawa hapo awali, hakikisha imesimamishwa na kuzimwa kabla ya kuendelea.

Kwa kusema hivyo, wacha tusakinishe vifaa vya safu ya LEMP kama ifuatavyo:

# aptitude update 
# aptitude install nginx mariadb-server mariadb-client php-mysqli php7.0-fpm

Usakinishaji utakapokamilika, hebu kwanza tuhakikishe kwamba Nginx na PHP-FPM zinafanya kazi na kuwezeshwa kuanza kwenye buti:

# systemctl status nginx php7.0-fpm

Ikiwa inaonyesha kuwa huduma moja au zote mbili hazifanyi kazi, basi fanya.

# systemctl start nginx php7.0-fpm
# systemctl enable nginx php7.0-fpm

Kama ilivyo kwa kila usakinishaji wa MariaDB au MySQL, ni muhimu kuendesha mysql_secure_installation ili kutekeleza usanidi mdogo wa usalama na kuweka nenosiri la akaunti ya msingi ya hifadhidata.

# mysql_secure_installation

Ikiwa hujui jinsi ya kufanya hivyo, unaweza kurejelea hatua #4 katika Jinsi ya Kusakinisha MariaDB 10 kwenye Debian na Ubuntu.

Kusanidi Nginx kutumia PHP-FPM kwenye Debian 9

Faili kuu ya usanidi wa Nginx ni /etc/nginx/sites-available/default, ambapo tutahitaji kufanya mabadiliko yafuatayo ndani ya kizuizi cha seva:

  • Hakikisha kizuizi cha eneo kinachoshughulikia maombi ya PHP kimewashwa, isipokuwa kile ambacho maelekezo ya fastcgi_pass yanaelekeza kwenye kitanzi cha NIC.
  • Ongeza index.php baada ya maelekezo ya faharasa ili kuonyesha kwamba ikipatikana, inapaswa kutumwa kwa chaguomsingi kabla ya index.html au faili zingine.
  • Ongeza maelekezo ya jina_la_seva yanayoelekeza kwenye anwani ya IP au jina la mpangishi wa seva yako. Hii itakuwa 192.168.0.35 kwa upande wetu.
  • Aidha, hakikisha kuwa maagizo ya msingi yanaelekeza mahali ambapo faili zako za .php zitahifadhiwa (/var/www/html kwa chaguomsingi).

Unapomaliza, unaweza kutumia amri ifuatayo ili kujaribu faili ya usanidi kwa makosa.

# nginx -t 

Katika hatua hii, yako /etc/nginx/sites-available/default inapaswa kuonekana kama ifuatavyo ambapo nambari hurejelea usanidi kuwakilisha orodha hapo juu:

# grep -Ev '#' /etc/nginx/sites-available/default

Kujaribu Nginx na PHP-FPM kwenye Debian 9

Ili kuhakikisha kuwa sasa tunatumia Nginx kama seva yetu ya wavuti, wacha tuunde faili inayoitwa info.php ndani /var/www/html na yaliyomo yafuatayo:

<?php
	phpinfo();
?>

Kisha nenda kwa http://192.168.0.35/info.php na uangalie sehemu ya juu ya ukurasa ambapo unapaswa kuona hii:

Hatimaye, hebu tuelekeze kivinjari chetu kwenye faili ya booksandauthors.php ambayo tumeunda katika Kusakinisha LAMP (Linux, Apache, MariaDB au MySQL na PHP) Stack kwenye Debian 9.

Kama unavyoona kwenye picha ifuatayo, faili hii sasa inahudumiwa na Nginx:

KUMBUKA: Ukigundua kuwa Nginx hutumia faili za .php kama vipakuliwa badala ya kuzitekeleza, futa akiba ya kivinjari chako au ujaribu kivinjari tofauti. Hasa, ikiwa unatumia Chrome unaweza kutaka kujaribu ukitumia hali fiche.

Katika makala haya tumeelezea jinsi ya kusakinisha na kusanidi Nginx ili kutumikia kurasa zinazobadilika za .php. Ni muhimu kutambua kwamba baada ya kuanzisha hii ya awali kuna mipangilio ambayo inapaswa kuzingatiwa ili kupata seva ya mtandao.

Unaweza kupata muhtasari wa kimsingi katika Mwongozo wa Mwisho wa Kulinda, Kuimarisha na Kuboresha Utendaji wa Seva ya Wavuti ya Nginx.

Ikiwa unatafuta upangishaji pepe kwenye Nginx, soma Jinsi ya Kusanidi Majeshi Pekee kulingana na Jina na IP kwenye NGINX.

Kama kawaida, usisite kutujulisha ikiwa una maswali au maoni kuhusu nakala hii.