LEMP er en populær stak, der omfatter open source-software, der kollektivt bruges til at hoste og betjene webapplikationer, uanset om det er i produktion eller på et hvilket som helst trin i udviklingscyklussen.
Terminologien LEMP er et akronym for Linux, Nginx (udtales som Motor X, derfor E), som er en webbrowser, MariaDB eller MySQL - database og PHP til behandling af dynamisk indhold). LEMP stack bruges populært til at være vært for høj trafik og meget skalerbare webapplikationer og websteder.
I denne vejledning lærer du, hvordan du installerer LEMP -stakken på Rocky Linux 8.4.
Inden du går i gang med at installere LEMP stak, skal du sikre dig, at du har følgende krav på plads.
Lad os komme igang…
Det første trin er at installere den første komponent i LEMP stak, som er Nginx Webserver. Først skal du opgradere pakkerne.
$ sudo dnf opdatering -y.
Når opdateringen er fuldført, skal du installere Nginx ved at køre følgende kommando. Dette installerer Nginx sammen med andre afhængigheder, der kræves af webserveren.
$ sudo dnf installer nginx
Når Nginx er på plads, skal du starte den ved opstartstid og starte Nginx -dæmonen.
$ sudo systemctl aktiver nginx $ sudo systemctl start nginx
For at bekræfte, at webserveren kører, skal du udføre kommandoen:
$ sudo systemctl status nginx.
Ud fra output kan vi konkludere, at webserveren er i gang.
Hvis du er nysgerrig nok, kan du kontrollere versionen af Nginx som følger. Outputtet angiver, at vi kører Nginx 1.14.1.
$ nginx -v nginx -version: nginx/1.14.1
Derudover kan du bekræfte, at browseren fungerer ved at gennemse den viste webadresse. Dette viser standard Nginx velkomstside, der angiver, at alt er godt.
http://server-ip eller domænenavn.
Hvis du har problemer med at se siden, kan du overveje at åbne port 80 eller tillade HTTP -trafik på firewallen.
$ sudo firewall-cmd --zone = public --add-service = http-permanent
Genindlæs derefter firewallen, og genindlæs siden.
$ sudo firewall-cmd-genindlæs.
I denne vejledning installerer vi MariaDB database. Dette skyldes den optimerede ydeevne og rigdom af lagermotorer, den giver, hvilket gør den langt mere overlegen i forhold til MySQL.
For at installere MariaDB databaseserver, kør kommandoen:
$ sudo dnf installer mariadb-server mariadb.
Når det er gjort, skal du aktivere og starte MariaDB som vist.
$ sudo systemctl aktiver mariadb. $ sudo systemctl start mariadb.
Kontroller derefter dens status.
$ sudo systemctl status mariadb.
Standardindstillingerne for MariaDB er ikke sikre nok, og din database kan let blive brudt. Som en sikkerhedsforanstaltning for at afskrække ubudne gæster på det mest grundlæggende niveau, skal du køre scriptet herunder.
$ sudo mysql_secure_installation.
Sørg for at konfigurere rodadgangskoden.
For de resterende prompts skal du blot skrive 'Y'
for at fjerne anonyme brugere, nægte eksternt root -login, fjerne testdatabasen og endelig gemme de foretagne ændringer.
For at logge ind på databaseserveren skal du køre kommandoen:
$ sudo mysql -u root -p.
Angiv adgangskoden, og tryk på ENTER.
Den sidste komponent, der skal installeres, er PHP via PHP-FPM, som står for FastCGI Process Manager. Dette er en effektiv og meget avanceret processor til PHP, der giver funktioner, der garanterer optimal ydeevne og sikkerhed for websteder med høj trafik.
For at starte vil vi installere Remi repository, som er et tredjeparts gratis lager, der indeholder de nyeste PHP-versioner.
For at aktivere Remi repository, kør kommandoen:
$ sudo dnf installer dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm.
En gang Remi repository er aktiveret, tjek listen over PHP -moduler, der hostes ved hjælp af den viste kommando.
$ sudo dnf modulliste php.
Fra output kan vi se, at standardversionen er 7.2 - med mærket [d]
. Vi skal dog installere det nyeste modul, som er Remi 8.0.
Nulstil derfor standard PHP -modulerne, og aktiver det nyeste Remi PHP -modul.
$ sudo dnf modul liste nulstil php. $ sudo dnf-modul aktiver php: remi-8.0.
Opdater derefter systemet og installer PHP og PHP-FPM sammen med PHP -udvidelser efter dine præferencer.
$ sudo dnf installer php php-fpm php-gd php-mysqlnd php-cli php-opcache.
Når installationen er fuldført, skal du aktivere og starte PHP-FPM som vist.
$ sudo systemctl aktiver php-fpm. $ sudo systemctl start php-fpm.
Kontroller derefter driftsstatus for PHP-FPM.
$ sudo systemctl status php-fpm.
Normalt, PHP-FPM kører som Apache bruger, men da vi bruger Nginx, skal vi indstille det til Nginx. Så åbn følgende konfigurationsfil.
$ sudo vim /etc/php-fpm.d/www.conf.
Indstil brugeren og gruppen til Nginx.
bruger = nginx. Gruppe = nginx.
Genindlæs derefter PHP-FPM-dæmonen.
$ sudo systemctl genindlæs php-fpm.
For at bekræfte, at vi har installeret den nyeste version af PHP, skal du køre kommandoen.
$ php -v.
En anden smart metode til Testin PHP er ved at oprette en enkel PHP -fil og placere den i webroot -biblioteket, som er placeret i /usr/share/nginx/html. Så lav en enkel info.php fil i /usr/share/nginx/html webroot bibliotek.
$ sudo vim /usr/share/nginx/html/info.php.
Tilføj følgende indhold, og gem filen.
php phpinfo ();
For at foretage ændringerne skal du genindlæse Nginx -webserveren.
$ sudo systemctl genstart nginx.
Endelig skal du få adgang til følgende URL.
http://server-ip/info.php.
En webside med detaljerede oplysninger om den installerede PHP -version sammen med andre PHP -udvidelser vises.
På dette tidspunkt er vores LEMP opsætningen er fuldført. I det næste trin skal vi være vært for et prøvewebsted ved at konfigurere en Nginx -serverblok.
En serverblok giver administratorer mulighed for at være vært for flere websteder på en server ved at definere forskellige webstedsdokumentrotmapper. Disse er de mapper, der indeholder webstedets filer.
Her vil vi oprette en enkelt Nginx -serverblokfil til at være vært for et eksempelwebsted.
Opret først webstedets dokumentmappe, som vil indeholde webstedets data, der vil være tilgængelige for besøgende på stedet. Antag at du har et domæne kaldet eksempel.com. Opret webstedets domænemappe som følger. Sørg for at udskifte eksempel.com med dit websteds fuldt kvalificerede domænenavn eller registrerede domæne.
$ sudo mkdir -p /var/www/example.com/html.
Domænets biblioteksstruktur er nu indstillet til at være vært for webstedets filer. I øjeblikket er det rodbrugeren, der ejer filerne. Vi skal indstille ejerskabet sådan, at det er den almindelige bruger, der ejer filen.
Hvis du vil ændre filernes ejerskab til den aktuelt loggede bruger, skal du bruge chown kommando.
$ sudo chown -R $ USER: $ USER /var/www/example.com/html.
Det $ USER
variabel tager værdien af den aktuelt loggede bruger og giver brugeren ejerskab til html-filer og undermapper. Yder desuden tilladelse til at læse den generelle webrotskatalog, så besøgende på webstedet kan få adgang til webstedets sider.
$ sudo chmod -R 755 /var /www.
Webstedsmappen er nu godt konfigureret til at betjene webstedets websider.
Lad os nu oprette et prøveteststed. Vi vil skabe en meget grundlæggende index.html fil i domænet html -bibliotek.
$ sudo vim /var/www/example.com/html/index.html.
Indsæt nedenstående indhold. Som du kan se, er det ganske grundlæggende, da vi kun bruger det til testformål.
Velkommen til Example.com! Succes! Serverblokken er aktiv!
Gem og afslut HTML -filen.
En serverblokfil er en fil, der indeholder webstedets konfiguration. Det beskriver, hvordan Nginx -webserveren reagerer på anmodninger fra webstedets besøgende. Vi starter med at oprette to biblioteker:
Opret derfor mapperne som følger:
$ sudo mkdir/etc/nginx/sites-available. $ sudo mkdir/etc/nginx/sites-enabled.
Rediger derefter Nginx hovedkonfigurationsfil.
$ sudo mkdir /etc/nginx/nginx.conf.
Indsæt følgende linjer. Den første linje angiver stien til biblioteket, der indeholder yderligere konfigurationsfiler. Den anden linje øger hukommelsen, der er allokeret til analyse af domænenavne.
omfatte /etc/nginx/sites-enabled/*.conf; server_navne_hash_bucket_size 64;
Gem og luk.
Opret derefter en serverblokfil.
$ sudo vim /etc/nginx/sites-available/example.com.conf.
Indsæt nedenstående indhold. Erstatte eksempel.com med dit Fuldt kvalificerede domænenavn (FQDN) eller serverens IP -adresse.
server {lyt 80; server navn example.com www.example.com; placering /{root /var /www /eksempel.com/html; indeks index.html index.htm; try_files $ uri $ uri/ = 404; } fejl_side 500 502 503 504 /50x.html; location = /50x.html {root/usr/share/nginx/html; } }
Gem og afslut filen.
Endelig skal vi aktivere serverblokfilen. For at gøre dette opretter vi et symbolsk link til serverblokfilen til det webstedaktiverede bibliotek.
$ sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf.
Genstart derefter Nginx, for at ændringerne skal gennemføres.
$ sudo systemctl genstart nginx.
For at teste konfigurationen skal du starte din browser og besøge dit websteds domæne
http://example.com.
Dette skulle vise serverblokens websted, som vi konfigurerede i trin 3.
Og dette pakker det op. I denne guide har vi guidet dig gennem installationen af LEMP stable på Rocky Linux 8 og gik et skridt videre for at oprette og konfigurere en serverblokfil, hvor vi var vært for et tilpasset websted.