Kaip įdiegti LEMP „Debian 10“ serveryje


LEMP“ yra atvirojo kodo programinės įrangos, kuri paprastai įdiegiama „Linux“ serveryje, dinaminėms programoms diegti, derinys. Šis terminas yra akronimas, reiškiantis Linux operacinę sistemą, Nginx žiniatinklio serverį, MariaDB duomenų bazę ir PHP programavimą.

Taip pat skaitykite: kaip įdiegti LAMP „Debian 10“ serveryje

Nors šiame „LEMP“ pakete paprastai yra duomenų bazės valdymo sistema MySQL, kai kurie „Linux“ paskirstymai, pvz., Debian, naudoja MariaDB. kaip MySQL pakaitalas.

Reikalavimai

  1. Kaip įdiegti „Debian 10“ („Buster“) minimalų serverį

Šiame straipsnyje paaiškinsime, kaip įdiegti ir nustatyti LEMP aplinką Debian 10 serveryje, naudojant MariaDB kaip duomenų bazės valdymą. platforma.

„Nginx“ žiniatinklio serverio diegimas „Debian 10“.

Nginx yra atvirojo kodo kelių platformų, lengvas, bet galingas ir lengvai konfigūruojamas HTTP ir atvirkštinis tarpinis serveris, pašto tarpinis serveris ir bendrasis TCP/UDP tarpinis serveris. serveris su moduline architektūra.

Kai kurios pagrindinės jo funkcijos apima statinių ir indeksinių failų aptarnavimą; pagreitintas palaikymas naudojant FastCGI, uwsgi, SCGI ir Memcached serverių talpyklą, apkrovos balansavimą ir atsparumą gedimams, SSL ir TLS SNI palaikymas, HTTP/2 palaikymas su svertiniu ir priklausomybe pagrįstu prioritetų nustatymu.

Norėdami įdiegti „Nginx“ paketą, naudokite „Debian“ apt paketų tvarkyklę, kaip parodyta.

apt update 
apt install nginx 

Kai Nginx diegimas bus baigtas, diegimo programa suaktyvins systemd, kad dabar paleistų Nginx paslaugą ir įgalintų ją automatiškai paleisti paleidžiant sistemą. Nginx būseną galite patikrinti naudodami šią systemctl komandą.

systemctl status nginx

Taip pat galite naudoti šias svarbias komandas, norėdami paleisti, iš naujo paleisti, sustabdyti ir iš naujo įkelti „Nginx“ paslaugos konfigūraciją sistemoje „systemd“.

systemctl start nginx
systemctl restart nginx 
systemctl stop nginx
systemctl reload nginx 
systemctl status nginx 

Tada, jei veikia UFW užkarda (paprastai ji išjungta pagal numatytuosius nustatymus), turite atidaryti prievadus 80 (HTTP) ir 443 (HTTPS), kad leistų įeinantį srautą. Nginx.

ufw allow 80
ufw allow 443
ufw status

Šiuo metu turite patikrinti, ar Nginx yra tinkamai įdiegtas, ar jis veikia ir gali aptarnauti tinklalapius. Norėdami tai padaryti, atidarykite žiniatinklio naršyklę ir nukreipkite ją į šį URL, kad pasiektumėte Nginx Debian Default tinklalapį.

http://SERVER_IP/
OR
http://localhost/

„MariaDB“ diegimas „Debian 10“.

Tada turite įdiegti duomenų bazių sistemą, kad galėtumėte saugoti ir tvarkyti savo svetainės ar žiniatinklio programos duomenis. Debian 10 pagal numatytuosius nustatymus palaiko MariaDB, kaip MySQL pakaitalą.

Norėdami įdiegti MariaDB, paleiskite šią komandą.

apt install mariadb-server

Tada patikrinkite MariaDB paslaugos būseną, nes ją automatiškai paleidžia systemd ir įgalino paleisti sistemą paleidžiant, kad įsitikintumėte, jog ji veikia ir veikia, naudokite šią komandą.

systemctl status mariadb

Jei norite valdyti (paleisti, paleisti iš naujo, sustabdyti ir iš naujo įkelti) MariaDB paslaugą pagal systemd, galite naudoti šią komandą.

systemctl start mariadb
systemctl restart mariadb
systemctl stop mariadb
systemctl reload mariadb

Tada MariaDB diegimas pagal numatytuosius nustatymus bus nesaugus. Turite paleisti apvalkalo scenarijų, kuris pateikiamas kartu su paketu, kad galėtumėte pagerinti duomenų bazės saugumą.

mysql_secure_installation

Paleidę scenarijų, turėsite atsakyti į šiuos klausimus, kad pakeistumėte numatytuosius MariaDB diegimo nustatymus, kaip parodyta toliau esančioje ekrano kopijoje.

PHP-FPM (Fast Process Manager) diegimas Debian 10

Skirtingai nuo Apache ir kitų žiniatinklio serverių, Nginx neteikia vietinio PHP palaikymo, nes naudoja PHP-FPM tvarkyti PHP puslapių užklausas. PHP-FPM yra alternatyvus PHP FastCGI demonas, leidžiantis svetainei tvarkyti dideles apkrovas, naudojant darbuotojų procesus užklausoms apdoroti.

Norėdami įdiegti PHP-FPM 7.3 versiją ir PHP modulį, skirtą bendrauti su MariaDB/MySQL duomenų bazių sistema, paleiskite šią komandą.

apt install php-fpm php-mysqli

Įdiegus PHP-FPM, diegimo programa suaktyvins sistemą, kad kol kas paleistų PHP-FPM paslaugą ir įgalintų ją automatiškai paleisti sistemos įkrovos metu. Norėdami patikrinti, ar jis veikia, išduokite šią komandą.

systemctl status php-fpm

Taip pat galite paleisti, iš naujo paleisti sustabdyti ir iš naujo įkelti paslaugos PHP-FPM konfigūraciją sistemoje „systemd“, kaip nurodyta toliau.

systemctl start php-fpm
systemctl restart php-fpm
systemctl stop php-fpm
systemctl reload php-fpm
systemctl status php-fpm

Tada turite apsaugoti PHP-FPM, atlikdami kai kuriuos pakeitimus konfigūracijos faile /etc/php/7.3/fpm/php.ini, kaip nurodyta toliau.

vi /etc/php/7.3/fpm/php.ini

Ieškokite ;cgi.fix_pathinfo=1, panaikindami jo komentarą, pradžioje pašalindami simbolį ;, nustatykite jo reikšmę į 0. Tai neleidžia Nginx leisti ne PHP failams vykdyti kaip PHP.

cgi.fix_pathinfo=0

Pagal numatytuosius nustatymus PHP-FPM yra sukonfigūruotas klausytis UNIX soxket, /run/php/php7.3-fpm.sock, kaip apibrėžta /etc. /php/7.3/fpm/pool.d/www.conf konfigūracijos failą. Turite sukonfigūruoti visą serverio bloką (arba virtualias prieglobas), kad naudotumėte šį lizdą, jei jie apdoros ir aptarnaus PHP puslapius.

Norėdami jį išbandyti, galite naudoti numatytąjį „Nginx“ serverio bloko konfigūracijos failą /etc/nginx/sites-available/default.

vi /etc/nginx/sites-available/default 

Ieškokite šios skilties ir panaikinkite jos komentarą, kad PHP scenarijai būtų perduoti FastCGI serveriui, kaip parodyta ekrano kopijoje.

location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}

Tada patikrinkite, ar „Nginx“ konfigūracijos struktūra yra Gerai, naudodami šią komandą.

nginx -t

Jei „Nginx“ konfigūracija yra Gerai, norėdami pritaikyti neseniai atliktus pakeitimus, iš naujo paleiskite php7.3-fpm ir nginx paslaugas, kaip nurodyta toliau.

systemctl restart php7.2-fpm
systemctl restart nginx

PHP-FPM apdorojimo testavimas naudojant Nginx

Sukonfigūravę PHP-FPM ir Nginx, kad veiktų kartu, turite išbandyti, ar dvi paslaugos gali apdoroti ir teikti klientams PHP puslapius. Norėdami tai padaryti, sukurkite paprastą PHP scenarijų savo žiniatinklio DocumentRoot, kaip nurodyta toliau.

echo “<?php phpinfo(); ?>”  | tee /var/www/html/info.php

Galiausiai atidarykite naršyklę ir įveskite šį adresą, kad pamatytumėte PHP konfigūracijas sistemoje, sugeneruotas naudojant funkciją phpinfo().

http://SERVER_IP/info.php
OR
http://localhost/info.php

Išvada

Šiame straipsnyje parodėme, kaip įdiegti ir konfigūruoti LEMP dėklą Debian 10. Jei turite klausimų ar atsiliepimų, susisiekite ir praneškite mums naudodami toliau pateiktą komentarų formą.