Kaip įdiegti LEMP („Linux“, „Nginx“, „MariaDB“, PHP-FPM) „Debian 9 Stretch“


Kadangi „Debian“ valdo didelę dalį interneto serverių visame pasaulyje, šiame straipsnyje paaiškinsime, kaip LEMP (Linux + Nginx + MariaDB + PHP-FPM) šūsnį įdiegti „Debian 9 Stretch“ kaip alternatyvą LAMP (naudokite šį vadovą įdiegti LAMP „Debian 9“).

Be to, mes parodysime, kaip atlikti minimalią „Nginx“/PHP-FPM konfigūraciją, kad net nauji sistemos administratoriai galėtų sukurti visiškai naujus žiniatinklio serverius dinaminiams puslapiams nustatyti.

Norėdami tai padaryti, pasinaudosime naujausiais oficialių platinimo saugyklų atnaujinimais. Manoma, kad atnaujinote nuo Jessie.

LEMP diegimas „Debian 9 Stretch“

Jums gali būti įdomu, kodėl mes paminėjome PHP-FPM, o ne PHP kaip LEMP kamino dalį. Skirtingai nuo kitų žiniatinklio serverių, „Nginx“ neteikia savosios PHP palaikymo.

Dėl šios priežasties PHP-FPM („Fast Process Manager“) naudojamas tvarkant užklausas dėl PHP puslapių. Daugiau apie PHP-FPM galite sužinoti oficialioje PHP svetainėje.

Numatytoji versija, pateikta „Debian“ saugyklose php7.0-fpm. Kaip tikriausiai galite atspėti pagal paketo pavadinimą, ši versija netgi gali apdoroti užklausas į puslapius, įskaitant PHP 7 kodą.

PASTABA: Jei „Apache“ buvo įdiegta tame pačiame laukelyje anksčiau, prieš tęsdami įsitikinkite, kad jis yra sustabdytas ir išjungtas.

Tai pasakę, įdiekime LEMP kamino komponentus taip:

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

Kai diegimas bus baigtas, pirmiausia įsitikinkime, kad „Nginx“ ir PHP-FPM veikia ir įgalinti, kad jie būtų paleisti įkrovos metu:

# systemctl status nginx php7.0-fpm

Jei rodo, kad viena ar abi paslaugos neveikia, tada atlikite.

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

Kaip ir kiekvieno „MariaDB“ ar „MySQL“ diegimo atveju, svarbu paleisti „mysql_secure_installation“, kad atliktumėte minimalią saugumo konfigūraciją ir nustatytumėte duomenų bazės šaknies paskyros slaptažodį.

# mysql_secure_installation

Jei nežinote, kaip tai padaryti, galite perskaityti 4 žingsnį, kaip „Kaip įdiegti„ MariaDB 10 “„ Debian “ir„ Ubuntu “.

„Nginx“ konfigūravimas naudoti PHP-FPM „Debian 9“

Pagrindinis „Nginx“ konfigūracijos failas yra/etc/nginx/sites-available/default, kur serverio bloke turėsime atlikti šiuos pakeitimus:

  • Įsitikinkite, kad įjungtas vietos blokas, tvarkantis PHP užklausas, išskyrus tą, kur „fastcgi_pass“ direktyva nurodo atgalinio tinklo NIC.
  • Po indekso direktyvos pridėkite index.php, kad nurodytumėte, jog jei bus rasta, ji turėtų būti teikiama pagal numatytuosius nustatymus prieš index.html ar kitus failus.
  • Pridėkite „server_name“ direktyvą, nurodančią jūsų serverio IP adresą arba pagrindinio kompiuterio pavadinimą. Mūsų atveju tai bus 192.168.0.35.
  • Be to, įsitikinkite, kad šakninė direktyva nurodo vietą, kurioje bus saugomi failai .php (pagal numatytuosius nustatymus/var/www/html).

Baigę galite naudoti šią komandą, kad patikrintumėte, ar konfigūracijos faile nėra klaidų.

# nginx -t 

Šiuo metu jūsų/etc/nginx/sites-available/default turėtų atrodyti taip, kur skaičiai, nurodantys konfigūraciją, atspindi aukščiau pateiktą sąrašą:

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

„Nginx“ ir PHP-FPM testavimas naudojant „Debian 9“

Norėdami įsitikinti, kad dabar mes naudojame „Nginx“ kaip savo interneto serverį, sukurkime failą pavadinimu info.php/var/www/html viduje su tokiu turiniu:

<?php
	phpinfo();
?>

Tada eikite į http://192.168.0.35/info.php ir patikrinkite puslapio viršuje, kur turėtumėte tai pamatyti:

Galiausiai nukreipkime savo naršyklę į knygąandauthors.php failą, kurį sukūrėme „Install LAMP“ („Linux“, „Apache“, „MariaDB“ arba „MySQL ir PHP“) „Stack“ sistemoje „Debian 9“.

Kaip matote šiame paveikslėlyje, šį failą dabar aptarnauja „Nginx“:

PASTABA: Jei pastebite, kad „Nginx“ .php failus teikia kaip atsisiuntimus, o ne vykdo juos, išvalykite naršyklės talpyklą arba išbandykite kitą naršyklę. Visų pirma, jei naudojate „Chrome“, galite išbandyti naudodami inkognito režimą.

Šiame straipsnyje mes paaiškinome, kaip įdiegti ir konfigūruoti „Nginx“, kad jis teiktų dinaminius .php puslapius. Svarbu pažymėti, kad po šios pradinės sąrankos yra nustatymų, į kuriuos reikėtų atsižvelgti norint apsaugoti žiniatinklio serverį.

Pagrindinę santrauką galite rasti „Nginx“ tinklo serverio saugaus, grūdinto ir našumo gerinimo vadove.

Jei ieškote virtualaus prieglobos sistemoje „Nginx“, perskaitykite skyrių Kaip nustatyti vardais ir IP pagrįstus virtualiuosius kompiuterius „NGINX“.

Kaip visada, nedvejodami praneškite mums, jei turite klausimų ar komentarų apie šį straipsnį.