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

  1. 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.