Kuinka LEMP asennetaan Debian 10 Server -palvelimeen


“LEMP” -pino on sekoitus avoimen lähdekoodin ohjelmistoja, jotka asennetaan tyypillisesti 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.

Vaikka tämä “LEMP” -pino sisältää yleensä MySQL: n tietokannan hallintajärjestelmänä, jotkut Linux-jakelut, kuten Debian, käyttävät MariaDB: tä MySQL: n drop-in-korvikkeena.

  1. Kuinka asentaa Debian 10 (Buster) -minimaalipalvelin

Tässä artikkelissa kerromme sinulle, kuinka LEMP-ympäristö asennetaan ja asennetaan Debian 10 -palvelimelle käyttämällä MariaDB: tä tietokannan hallinta-alustana.

Nginx-verkkopalvelimen asentaminen Debian 10: een

Nginx on avoimen lähdekoodin ja alustojen välinen, kevyt mutta tehokas ja helppo konfiguroida HTTP- ja käänteinen välityspalvelin, postin välityspalvelin ja yleinen TCP/UDP-välityspalvelin, modulaarisella arkkitehtuurilla.

Jotkut sen perusominaisuuksista ovat staattisten ja hakemistotiedostojen tarjoaminen; nopeutettu tuki FastCGI-, uwsgi-, SCGI- ja Memcached-palvelinten välimuistilla, kuormituksen tasapainottaminen ja vikasietoisuus, SSL- ja TLS SNI -tuki, HTTP/2 -tuki painotetulla ja riippuvuuteen perustuvalla priorisoinnilla.

Asenna Nginx-paketti käyttämällä Debianin apt-paketinhallintaa kuvan osoittamalla tavalla.

# apt update 
# apt install nginx 

Kun Nginx-asennus on valmis, asennusohjelma aktivoi systemd: n aloittaakseen Nginx-palvelun toistaiseksi ja salliakseen sen käynnistyvän automaattisesti järjestelmän käynnistyksen yhteydessä. Voit tarkistaa Nginxin tilan seuraavalla systemctl-komennolla.

# systemctl status nginx

Voit myös käyttää seuraavia tärkeitä komentoja Nginx-palvelun kokoonpanon käynnistämiseen, uudelleenkäynnistykseen, pysäyttämiseen ja lataamiseen uudelleen 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 portit 80 (HTTP) ja 443 (HTTPS), jotta Nginxille voidaan sallia saapuva liikenne.

# ufw allow 80
# ufw allow 443
# ufw status

Tässä vaiheessa sinun on testattava, onko Nginx asennettu oikein, onko se käynnissä ja pystyykö palvelemaan verkkosivuja. Voit tehdä sen avaamalla verkkoselaimen ja osoittamalla sen seuraavaan URL-osoitteeseen, jotta pääset Nginx Debianin oletussivulle.

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 MariaDB: tä oletusarvoisesti MySQL: n korvaajana.

Asenna MariaDB suorittamalla seuraava komento.

# apt install mariadb-server

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

# systemctl status mariadb

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

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

Seuraavaksi MariaDB-asennus on oletusarvoisesti epävarma. Sinun on suoritettava komentosarja, joka toimitetaan paketin mukana, jotta voit parantaa tietokannan turvallisuutta.

# mysql_secure_installation

Kun komentosarja on suoritettu, se vie sinut läpi seuraavien kysymysten muokkaamaan MariaDB-asennuksen oletusasetuksia seuraavassa kuvakaappauksessa.

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

Toisin kuin Apache ja muut verkkopalvelimet, Nginx ei tarjoa natiivia tukea PHP: lle, koska se käyttää PHP-FPM: ää PHP-sivujen pyyntöjen käsittelemiseen. PHP-FPM on vaihtoehtoinen FastCGI-demoni PHP: lle, jonka avulla verkkosivusto pystyy käsittelemään suuria kuormia käyttämällä työntekijöiden prosesseja pyyntöjen käsittelyssä.

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

# apt install php-fpm php-mysqli

Kun PHP-FPM on asennettu, asennusohjelma aktivoi systemd: n aloittaakseen PHP-FPM -palvelun toistaiseksi ja salliakseen sen käynnistyvän automaattisesti järjestelmän käynnistyksen yhteydessä. Anna seuraava komento tarkistaaksesi, onko se käynnissä.

# systemctl status php-fpm

Voit myös käynnistää, käynnistää uudelleen pysäyttämisen ja ladata PHP-FPM-palvelun kokoonpanon uudelleen systemd-järjestelmä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ä joitain muutoksia asetustiedostoon /etc/php/7.3/fpm/php.ini seuraavasti.

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

Etsi komento ; cgi.fix_pathinfo = 1 poistamalla se poistamalla alusta merkki ; , asettamalla sen arvoksi 0 . Tämä estää Nginxiä sallimasta muiden kuin PHP-tiedostojen suorittamista PHP: nä.

cgi.fix_pathinfo=0

Oletusarvoisesti PHP-FPM on määritetty kuuntelemaan UNIX-soxket, /run/php/php7.3-fpm.sock, kuten määritetään /etc/php/7.3/fpm/pool.d/www.conf -asetustiedostossa. Sinun on määritettävä kaikki palvelinlohkot (tai virtuaaliset isännät) käyttämään tätä liitäntää, jos heidän on tarkoitus käsitellä ja palvella PHP-sivuja.

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

# vi /etc/nginx/sites-available/default 

Etsi seuraava osio ja poista komento siirtää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-kokoonpanorakenne OK, käyttämällä seuraavaa komentoa.

# nginx -t

Jos Nginx-kokoonpano on kunnossa, tee äskettäin tehdyt muutokset käynnistämällä php7.3-fpm- ja nginx-palvelut uudelleen seuraavasti.

# systemctl restart php7.2-fpm
# systemctl restart nginx

PHP-FPM-prosessoinnin testaaminen Nginxillä

Kun olet määrittänyt PHP-FPM: n ja Nginxin toimimaan yhdessä, sinun on testattava, pystyvätkö kaksi palvelua käsittelemään ja palvelemaan PHP-sivuja asiakkaille. Voit tehdä sen luomalla yksinkertaisen PHP-komentosarjan Web DocumentRoot -sovellukseen seuraavasti.

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

Avaa lopuksi selain ja kirjoita seuraava osoite, niin näet järjestelmän PHP-kokoonpanot phpinfo() -toiminnon luomalla tavalla.

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

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 ilmoita siitä meille alla olevan kommenttilomakkeen avulla.