Kuinka asentaa LEMP Debian 10 -palvelimelle


LEMP-pino on sekoitus avoimen lähdekoodin ohjelmistoja, jotka asennetaan tavallisesti Linux-palvelimelle dynaamisten sovellusten käyttöönottoa varten. Tämä termi on lyhenne, joka edustaa Linux-käyttöjärjestelmää, Nginx-verkkopalvelinta, MariaDB-tietokantaa ja PHP-ohjelmointia.

Lue myös: LAMP:n asentaminen Debian 10 -palvelimeen

Vaikka tämä "LEMP"-pino sisältää tavallisesti MySQL:n tietokannan hallintajärjestelmänä, jotkin Linux-jakelut, kuten Debian, käyttävät MariaDB. korvaamaan MySQL:n.

Vaatimukset

  1. Debian 10 (Buster) -minimipalvelimen asentaminen

Tässä artikkelissa selitämme sinulle, kuinka LEMP-ympäristö asennetaan ja määritetään Debian 10 -palvelimelle käyttämällä MariaDB-tietokannan hallintaa. alusta.

Nginx-verkkopalvelimen asentaminen Debian 10:een

Nginx on avoimen lähdekoodin ja monialustainen, kevyt mutta tehokas ja helposti määritettävä HTTP- ja käänteinen välityspalvelin, sähköpostin välityspalvelin ja yleinen TCP/UDP-välityspalvelin. palvelin, jossa on modulaarinen arkkitehtuuri.

Joitakin sen perusominaisuuksia ovat staattisten ja hakemistotiedostojen palveleminen; nopeutettu tuki FastCGI-, uwsgi-, SCGI- ja Memcached-palvelimien välimuistilla, kuormituksen tasapainotus ja vikasietoisuus, SSL ja TLS SNI -tuki, HTTP/2-tuki painotetulla ja riippuvuusperusteisella priorisoinnilla.

Asenna Nginx-paketti käyttämällä Debianin apt-pakettienhallintaa kuvan mukaisesti.

apt update 
apt install nginx 

Kun Nginx-asennus on valmis, asennusohjelma aktivoi systemd:n käynnistääkseen Nginx-palvelun toistaiseksi ja mahdollistaakseen sen käynnistymisen automaattisesti järjestelmän käynnistyksen yhteydessä. Voit tarkistaa Nginxin tilan käyttämällä seuraavaa systemctl-komentoa.

systemctl status nginx

Voit myös käyttää seuraavia tärkeitä komentoja käynnistääksesi, käynnistääksesi uudelleen, pysäyttääksesi ja ladataksesi uudelleen Nginx-palvelun määritykset systemd:ssä.

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

Seuraavaksi, jos UFW-palomuuri on käynnissä (se on yleensä oletusarvoisesti poissa käytöstä), sinun on avattava portti 80 (HTTP) ja 443 (HTTPS) salliaksesi saapuvan liikenteen. Nginxissä.

ufw allow 80
ufw allow 443
ufw status

Tässä vaiheessa sinun on testattava, onko Nginx asennettu oikein, onko se käynnissä ja voiko se palvella verkkosivuja. Voit tehdä tämän avaamalla verkkoselain ja osoittamalla sen seuraavaan URL-osoitteeseen päästäksesi Nginx Debian Default -verkkosivulle.

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

MariaDB:n asentaminen Debian 10:een

Seuraavaksi sinun on asennettava tietokantajärjestelmä, jotta voit tallentaa ja hallita verkkosivustosi tai verkkosovelluksesi tietoja. Debian 10 tukee oletuksena MariaDB:tä, joka korvaa MySQL:n.

Asenna MariaDB suorittamalla seuraava komento.

apt install mariadb-server

Tarkista seuraavaksi MariaDB-palvelun tila, koska systemd käynnistää sen automaattisesti ja se on otettu käyttöön järjestelmän käynnistyksen yhteydessä. Käytä seuraavaa komentoa varmistaaksesi, että se on käynnissä.

systemctl status mariadb

Voit hallita (käynnistää, käynnistää uudelleen, pysäyttää ja ladata uudelleen) MariaDB-palvelun systemd:ssä käyttämällä seuraavaa komentoa.

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

Seuraavaksi MariaDB-käyttöönotto on oletusarvoisesti turvaton. Sinun on suoritettava paketin mukana tuleva shell-skripti, jotta voit parantaa tietokannan suojausta.

mysql_secure_installation

Skriptin suorittamisen jälkeen se vie sinut seuraavien kysymysten läpi muuttaaksesi MariaDB-asennuksen oletusasetuksia seuraavan kuvakaappauksen mukaisesti.

PHP-FPM (Fast Process Manager) asennus Debian 10:een

Toisin kuin Apache ja muut verkkopalvelimet, Nginx ei tarjoa natiivitukea PHP:lle, koska se käyttää PHP-FPM:tä. käsittelemään PHP-sivuja koskevia pyyntöjä. PHP-FPM on vaihtoehtoinen PHP:n FastCGI-daemon, jonka avulla verkkosivusto voi käsitellä suuria kuormituksia käyttämällä työprosesseja pyyntöjen käsittelyyn.

Asenna PHP-FPM-versio 7.3 ja PHP-moduuli viestimään MariaDB/MySQL-tietokantajärjestelmän kanssa suorittamalla seuraava komento.

apt install php-fpm php-mysqli

Kun PHP-FPM on asennettu, asennusohjelma aktivoi systemd käynnistääkseen PHP-FPM-palvelun toistaiseksi ja mahdollistaa sen käynnistymisen automaattisesti järjestelmän käynnistyksen yhteydessä. Voit tarkistaa, onko se käynnissä, antamalla seuraava komento.

systemctl status php-fpm

Voit myös käynnistää, käynnistää uudelleen pysäyttää ja ladata uudelleen PHP-FPM-palvelun määritykset systemd:ssä seuraavasti.

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

Seuraavaksi sinun on suojattava PHP-FPM tekemällä muutoksia asetustiedostoon /etc/php/7.3/fpm/php.ini seuraavasti.

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

Etsi ;cgi.fix_pathinfo=1-merkintä poistamalla sen alusta poistamalla ;-merkki ja aseta sen arvoksi 0. Tämä estää Nginxiä sallimasta muiden kuin PHP-tiedostojen suorittamista PHP:nä.

cgi.fix_pathinfo=0

Oletuksena PHP-FPM on määritetty kuuntelemaan UNIX-soxketia, /run/php/php7.3-fpm.sock, kuten /etc. /php/7.3/fpm/pool.d/www.conf-määritystiedosto. Sinun on määritettävä kaikki palvelinlohkosi (tai virtuaaliset isännät) käyttämään tätä liitäntää, jos ne käsittelevät ja palvelevat PHP-sivuja.

Voit käyttää Nginx-oletuspalvelinlohkon määritystiedostoa /etc/nginx/sites-available/default sen testaamiseen.

vi /etc/nginx/sites-available/default 

Etsi seuraava osio ja poista sen kommentit välittääksesi PHP-komentosarjat FastCGI-palvelimelle kuvakaappauksen mukaisesti.

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

Testaa seuraavaksi, onko Nginx-määritysrakenne OK, käyttämällä seuraavaa komentoa.

nginx -t

Jos Nginx-kokoonpano on OK, ota äskettäin tehdyt muutokset käyttöön käynnistämällä php7.3-fpm- ja nginx-palvelut uudelleen seuraavasti.

systemctl restart php7.2-fpm
systemctl restart nginx

PHP-FPM-käsittelyn testaus Nginxissä

Kun PHP-FPM ja Nginx on määritetty toimimaan yhdessä, sinun on testattava, voivatko kaksi palvelua käsitellä ja palvella PHP-sivuja asiakkaille. Voit tehdä tämän luomalla yksinkertaisen PHP-komentosarjan DocumentRoot-verkkosivullesi seuraavasti.

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

Avaa lopuksi selain ja kirjoita seuraava osoite nähdäksesi järjestelmän PHP-määritykset phpinfo()-funktion luomina.

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

Johtopäätös

Tässä artikkelissa olemme osoittaneet, kuinka LEMP-pino asennetaan ja määritetään Debian 10:ssä. Jos sinulla on kysyttävää tai palautetta, ota yhteyttä ja kerro meille alla olevan kommenttilomakkeen kautta.