Hvernig á að setja upp LEMP (Linux, Nginx, MariaDB, PHP-FPM) á Debian 9 Stretch


Þar sem Debian knýr stórt hlutfall vefþjóna um allan heim, munum við í þessari grein útskýra hvernig á að setja upp LEMP (Linux + Nginx + MariaDB + PHP-FPM) stafla á Debian 9 Stretch sem valkost við LAMP (notaðu þessa handbók til að setja upp LAMP á Debian 9).

Að auki munum við sýna hvernig á að framkvæma lágmarks Nginx/PHP-FPM stillingar þannig að jafnvel nýir kerfisstjórar geti sett upp glænýja vefþjóna til að setja upp kraftmiklar síður.

Til að gera þetta munum við nýta nýlegar uppfærslur á opinberum geymslum dreifingarinnar. Það er gert ráð fyrir að þú hafir uppfært frá Jessie.

Að setja upp LEMP í Debian 9 Stretch

Þú gætir verið að velta fyrir þér hvers vegna við nefndum PHP-FPM í stað PHP sem hluta af LEMP staflanum. Öfugt við aðra vefþjóna veitir Nginx ekki innfæddan stuðning fyrir PHP.

Af þeirri ástæðu er PHP-FPM (Fast Process Manager) notað til að meðhöndla beiðnir um PHP síður. Þú getur lært meira um PHP-FPM á PHP opinberu síðunni.

Sjálfgefin útgáfa í Debian geymslunum php7.0-fpm. Eins og þú getur sennilega giskað á út frá nafni pakkans getur þessi útgáfa jafnvel séð um beiðnir á síður þar á meðal PHP 7 kóða.

ATH: Ef Apache hefur verið sett upp í sama kassa áður, vertu viss um að það sé stöðvað og óvirkt áður en þú heldur áfram.

Að því sögðu skulum við setja upp íhluti LEMP staflasins sem hér segir:

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

Þegar uppsetningunni er lokið skulum við fyrst ganga úr skugga um að Nginx og PHP-FPM séu í gangi og virkjað til að byrja við ræsingu:

# systemctl status nginx php7.0-fpm

Ef gefur til kynna að önnur eða báðar þjónusturnar séu ekki í gangi, gerðu það.

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

Eins og það er raunin með hverja MariaDB eða MySQL uppsetningu, þá er mikilvægt að keyra mysql_secure_installation til að framkvæma lágmarks öryggisstillingar og stilla lykilorðið fyrir rótarreikning gagnagrunnsins.

# mysql_secure_installation

Ef þú veist ekki hvernig á að gera þetta geturðu vísað í skref #4 í Hvernig á að setja upp MariaDB 10 á Debian og Ubuntu.

Að stilla Nginx til að nota PHP-FPM á Debian 9

Nginx aðalstillingarskráin er /etc/nginx/sites-available/default, þar sem við þurfum að gera eftirfarandi breytingar innan netþjónsblokkarinnar:

  • Gakktu úr skugga um að staðsetningarblokkin sem sér um PHP-beiðnir sé virkjuð, að undanskildum þeim þar sem fastcgi_pass tilskipunin vísar til baklykils NIC.
  • Bættu við index.php aftan við vísitölutilskipunina til að gefa til kynna að ef hún finnst ætti hún að vera birt sjálfgefin á undan index.html eða öðrum skrám.
  • Bættu við tilskipuninni server_name sem vísar á IP-tölu eða hýsilheiti netþjónsins þíns. Þetta verður 192.168.0.35 í okkar tilviki.
  • Að auki skaltu ganga úr skugga um að rótartilskipunin vísar á staðinn þar sem .php skrárnar þínar verða geymdar (/var/www/html sjálfgefið).

Þegar þú ert búinn geturðu notað eftirfarandi skipun til að prófa stillingarskrána fyrir villur.

# nginx -t 

Á þessum tímapunkti ætti /etc/nginx/sites-available/default að líta út sem hér segir þar sem tölurnar vísa til stillinganna tákna listann hér að ofan:

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

Að prófa Nginx og PHP-FPM á Debian 9

Til að vera viss um að við séum núna að nota Nginx sem vefþjóninn okkar skulum við búa til skrá sem heitir info.php inni /var/www/html með eftirfarandi innihaldi:

<?php
	phpinfo();
?>

Farðu svo á http://192.168.0.35/info.php og athugaðu efst á síðunni þar sem þú ættir að sjá þetta:

Að lokum skulum við benda vafranum okkar á booksandauthors.php skrána sem við bjuggum til í Install LAMP (Linux, Apache, MariaDB eða MySQL og PHP) stafla á Debian 9.

Eins og þú sérð á eftirfarandi mynd er þessi skrá nú í boði hjá Nginx:

ATH: Ef þú tekur eftir því að Nginx þjónar .php skránum sem niðurhal í stað þess að keyra þær, hreinsaðu skyndiminni vafrans eða prófaðu annan vafra. Sérstaklega ef þú ert að nota Chrome gætirðu viljað prófa með huliðsstillingu.

Í þessari grein höfum við útskýrt hvernig á að setja upp og stilla Nginx til að þjóna kraftmiklum .php síðum. Það er mikilvægt að hafa í huga að eftir þessa upphaflegu uppsetningu eru stillingar sem ætti að taka tillit til til að tryggja vefþjóninn.

Þú gætir fundið grunnsamantekt í The Ultimate Guide to Secure, Harden and Improve Performance of Nginx Web Server.

Ef þú ert að leita að sýndarhýsingu á Nginx, lestu Hvernig á að setja upp nafntengda og IP-byggða sýndargestgjafa á NGINX.

Eins og alltaf, ekki hika við að láta okkur vita ef þú hefur spurningar eða athugasemdir um þessa grein.