Hvordan installere LEMP på Debian 10 Server
En «LEMP»-stabel er en blanding av åpen kildekode-programvare som vanligvis installeres på en Linux-server for å distribuere dynamiske applikasjoner. Dette begrepet er et akronym som representerer Linux-operativsystemet, Nginx-webserveren, en MariaDB-database og PHP-programmering.
Les også: Hvordan installere LAMP på Debian 10 Server
Selv om denne "LEMP "-stakken vanligvis inneholder MySQL som databasestyringssystem, bruker noen Linux-distribusjoner som Debian MariaDB som en drop-in-erstatning for MySQL.
Krav
- Hvordan installere en Debian 10 (Buster) Minimal Server
I denne artikkelen vil vi forklare deg hvordan du installerer og konfigurerer et LEMP-miljø på en Debian 10-server, ved å bruke MariaDB som databasebehandling plattform.
Installere Nginx Web Server på Debian 10
Nginx er en åpen kildekode og tverrplattform, lett, men kraftig og lett å konfigurere HTTP og omvendt proxy-server, en e-postproxy-server og en generisk TCP/UDP-proxy server, med en modulær arkitektur.
Noen av de grunnleggende funksjonene inkluderer visning av statiske filer og indeksfiler; akselerert støtte med hurtigbufring av FastCGI, uwsgi, SCGI og Memcached servere, lastbalansering og feiltoleranse, SSL og TLS SNI-støtte, støtte for HTTP/2 med vektet og avhengighetsbasert prioritering.
For å installere Nginx-pakken, bruk Debians apt-pakkebehandling som vist.
apt update
apt install nginx
Når Nginx-installasjonen er fullført, vil installasjonsprogrammet aktivere systemd for å starte Nginx-tjenesten inntil videre og la den starte automatisk ved systemoppstart. Du kan sjekke statusen til Nginx ved å bruke følgende systemctl-kommando.
systemctl status nginx
Du kan også bruke følgende viktige kommandoer for å starte, starte på nytt, stoppe og laste inn konfigurasjonen av Nginx-tjenesten på nytt under systemd.
systemctl start nginx
systemctl restart nginx
systemctl stop nginx
systemctl reload nginx
systemctl status nginx
Deretter, hvis du kjører UFW-brannmuren (den er vanligvis deaktivert som standard), må du åpne port 80 (HTTP) og 443 (HTTPS) for å tillate innkommende trafikk på Nginx.
ufw allow 80
ufw allow 443
ufw status
På dette tidspunktet må du teste om Nginx er riktig installert, om den kjører og kan betjene nettsider. For å gjøre det, åpne en nettleser og pek den til følgende URL for å få tilgang til Nginx Debian Default-nettsiden.
http://SERVER_IP/
OR
http://localhost/
Installerer MariaDB på Debian 10
Deretter må du installere et databasesystem for å kunne lagre og administrere data for nettstedet eller nettappen din. Debian 10 støtter MariaDB som standard, som en drop-in-erstatning for MySQL.
For å installere MariaDB, kjør følgende kommando.
apt install mariadb-server
Deretter sjekker du MariaDB-tjenestestatusen siden den er automatisk startet av systemd og aktivert for å starte ved systemoppstart, for å sikre at den er oppe og kjører, bruk følgende kommando.
systemctl status mariadb
For å administrere (starte, starte på nytt, stoppe og laste på nytt) MariaDB-tjenesten under systemd, kan du bruke følgende kommando.
systemctl start mariadb
systemctl restart mariadb
systemctl stop mariadb
systemctl reload mariadb
Deretter vil MariaDB-distribusjonen være usikker som standard. Du må kjøre et shell-skript som følger med pakken, for å gjøre deg i stand til å forbedre databasesikkerheten.
mysql_secure_installation
Etter å ha kjørt skriptet, vil det ta deg gjennom en rekke følgende spørsmål for å endre standardinnstillingene for MariaDB-installasjonen som vist i følgende skjermbilde.
Installere PHP-FPM (Fast Process Manager) på Debian 10
I motsetning til Apache og andre nettservere, gir ikke Nginx innebygd støtte for PHP, siden den bruker PHP-FPM for å håndtere forespørsler om PHP-sider. PHP-FPM er en alternativ FastCGI-demon for PHP som lar et nettsted håndtere høye belastninger ved å bruke arbeidsprosesser for å håndtere forespørsler.
For å installere PHP-FPM versjon 7.3 og en PHP-modul for å kommunisere med et MariaDB/MySQL-databasesystem, kjør følgende kommando.
apt install php-fpm php-mysqli
Etter at PHP-FPM er installert, vil installasjonsprogrammet aktivere systemd for å starte PHP-FPM-tjenesten inntil videre og aktivere den til å starte automatisk ved systemoppstart. For å sjekke om den er oppe og kjører, utfør følgende kommando.
systemctl status php-fpm
Du kan også starte, starte stopp på nytt og laste inn konfigurasjonen av PHP-FPM-tjenesten på nytt under systemd, som følger.
systemctl start php-fpm
systemctl restart php-fpm
systemctl stop php-fpm
systemctl reload php-fpm
systemctl status php-fpm
Deretter må du sikre PHP-FPM ved å gjøre noen endringer i konfigurasjonsfilen /etc/php/7.3/fpm/php.ini som følger.
vi /etc/php/7.3/fpm/php.ini
Se etter ;cgi.fix_pathinfo=1
, fjern kommentaren ved å fjerne ;
-tegnet i starten, sett verdien til 0
. Dette forhindrer Nginx fra å tillate at filer som ikke er PHP, kjøres som PHP.
cgi.fix_pathinfo=0
Som standard er PHP-FPM konfigurert til å lytte på en UNIX-soxket, /run/php/php7.3-fpm.sock som definert i /etc /php/7.3/fpm/pool.d/www.conf konfigurasjonsfil. Du må konfigurere alle serverblokkene dine (eller virtuelle verter) for å bruke denne kontakten hvis de skal behandle og betjene PHP-sider.
Du kan bruke Nginx standard serverblokkkonfigurasjonsfil /etc/nginx/sites-available/default for å teste den.
vi /etc/nginx/sites-available/default
Se etter følgende seksjon og fjern kommentarer for å sende PHP-skript til FastCGI-serveren som vist på skjermbildet.
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}
Deretter tester du om Nginx-konfigurasjonsstrukturen er OK, ved å bruke følgende kommando.
nginx -t
Hvis Nginx-konfigurasjonen er OK, for å bruke de nylig utførte endringene, start php7.3-fpm- og nginx-tjenestene på nytt som følger.
systemctl restart php7.2-fpm
systemctl restart nginx
Tester PHP-FPM-behandling på Nginx
Etter å ha konfigurert PHP-FPM og Nginx til å fungere sammen, må du teste om to tjenester kan behandle og levere PHP-sider til klienter. For å gjøre det, lag et enkelt PHP-skript i DocumentRoot på nettet som følger.
echo “<?php phpinfo(); ?>” | tee /var/www/html/info.php
Til slutt åpner du en nettleser og skriver inn følgende adresse for å se PHP-konfigurasjonene på systemet som generert av phpinfo()
-funksjonen.
http://SERVER_IP/info.php
OR
http://localhost/info.php
Konklusjon
I denne artikkelen har vi vist hvordan du installerer og konfigurerer LEMP-stakken i Debian 10. Hvis du har spørsmål eller tilbakemeldinger, vennligst ta kontakt og gi oss beskjed via kommentarskjemaet nedenfor.