Kako namestiti strežnik LEMP na CentOS 8


LEMP je paket programske opreme, ki vsebuje nabor brezplačnih in odprtokodnih orodij, ki se uporabljajo za napajanje velikega prometa in dinamičnih spletnih mest. LEMP je kratica za Linux, Nginx (izgovarja se kot Engine X), MariaDB/MySQL in PHP.

Nginx je odprtokodni, robusten in visoko zmogljiv spletni strežnik, ki se lahko tudi podvoji kot obratni strežnik proxy. MariaDB je sistem zbirk podatkov, ki se uporablja za shranjevanje uporabniških podatkov, PHP pa je strežniški skriptni jezik, ki se uporablja za razvoj in podporo dinamičnih spletnih strani.

Povezani članek: Kako namestiti strežnik LAMP na CentOS 8

V tem članku boste izvedeli, kako namestiti strežnik LEMP na distribucijo CentOS 8 Linux.

1. korak: Posodobite programske pakete na CentOS 8

Za začetek posodobite repozitorij in programske pakete na CentOS 8 Linux z zagonom naslednjega ukaza dnf.

$ sudo dnf update

2. korak: Namestite spletni strežnik Nginx na CentOS 8

Po zaključku posodobitve paketov namestite Nginx s preprostim ukazom.

$ sudo dnf install nginx

Delček prikazuje, da je namestitev Nginxa dobro potekala brez kolcanja.

Ko je namestitev končana, konfigurirajte Nginx za zagon in z izvajanjem ukazov preverite, ali se Nginx izvaja.

$ sudo systemctl enable nginx
$ sudo systemctl start nginx
$ sudo systemctl status nginx

Če želite preveriti nameščeno različico Nginx, zaženite ukaz.

$ nginx -v

Če vas radovednost izkoristi in želite izkopati več informacij o Nginxu, izvedite naslednji ukaz rpm.

$ rpm -qi nginx 

Če želite potrditi, da strežnik Nginx deluje z brskalnikom, preprosto vnesite naslov IP sistema v vrstico URL in pritisnite ENTER.

http://server-IP

Videti bi morali spletno stran\"Dobrodošli v Nginxu", ki kaže, da vaš spletni strežnik Nginx deluje in deluje.

3. korak: Namestite MariaDB na CentOS 8

MariaDB je brezplačna odprtokodna vilica MySQL in ima najnovejše funkcije, zaradi katerih je boljša zamenjava za MySQL. Če želite namestiti MariaDB, zaženite ukaz.

$ sudo dnf install mariadb-server mariadb

Če želite omogočiti, da se MariaDB samodejno zažene ob zagonu, zaženite.

$ sudo systemctl enable mariadb

Če želite zagnati strežnik MariaDB, zaženite ukaz.

$ sudo systemctl start mariadb

Po namestitvi s spodnjim ukazom preverite njegovo stanje.

$ sudo systemctl status mariadb

Mehanizem zbirke podatkov MariaDB ni varen in vsak se lahko prijavi brez poverilnic. Za utrjevanje MariaDB in njegovo zaščito, da zmanjšate možnosti nepooblaščenega dostopa, zaženite ukaz.

$ sudo mysql_secure_installation

Sledi vrsta pozivov. Prva zahteva, da nastavite korensko geslo. Pritisnite ENTER in vnesite Y za Yes, da določite korensko geslo.

Po nastavitvi gesla odgovorite na preostala vprašanja, da odstranite anonimnega uporabnika, odstranite testno bazo podatkov in onemogočite prijavo za oddaljeno root.

Ko končate vse korake, se lahko prijavite na strežnik MariaDB in preverite informacije o različici strežnika MariaDB (navedite geslo, ki ste ga navedli pri zaščiti strežnika).

$ mysql -u root -p

4. korak: Namestite PHP 7 na CentOS 8

Na koncu bomo namestili še zadnji sklop LEMP, ki je PHP, skriptni spletni programski jezik, ki se običajno uporablja za razvoj dinamičnih spletnih strani.

V času pisanja tega vodnika je najnovejša različica PHP 7.4. To bomo namestili s pomočjo skladišča Remi. Repozitorij Remi je brezplačno repozitorij, ki je priložen najnovejšim najnovejšim različicam programske opreme, ki pri CentOS-u privzeto niso na voljo.

Zaženite spodnji ukaz, da namestite repozitorij EPEL.

$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Nato nadaljujte in namestite yum-utils ter omogočite re-repozitorij z uporabo spodnjega ukaza.

$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Nato poiščite razpoložljive PHP module, ki so na voljo za namestitev.

$ sudo dnf module list php

Kot je prikazano, bodo na izhodu prikazani razpoložljivi moduli PHP, tok in namestitveni profili. Iz spodnjega izhoda lahko vidimo, da je trenutno nameščena različica PHP 7.2, označena s črko d , zaprto v oglatih oklepajih.

Iz izhoda lahko vidimo tudi, da je najnovejši modul PHP PHP 7.4, ki ga bomo namestili. Najprej pa moramo ponastaviti module PHP. Torej zaženite ukaz.

$ sudo dnf module reset php

Nato z zagonom omogočite modul PHP 7.4.

$ sudo dnf module enable php:remi-7.4

Z omogočenim modulom PHP 7.4 dokončno namestite PHP, PHP-FPM (FastCGI Process Manager) in pripadajoče PHP module z ukazom.

$ sudo dnf install php php-opcache php-gd php-curl php-mysqlnd

Zdaj preverite nameščeno različico.

$ php -v 

Nato omogočite in zaženite php-fpm.

$ sudo systemctl enable php-fpm
$ sudo systemctl start php-fpm

Za preverjanje njegovega stanja izvedite ukaz.

$ sudo systemctl status php-fpm

Druga stvar je, da je PHP-FPM privzeto konfiguriran tako, da deluje kot uporabnik Apache. Ker pa uporabljamo spletni strežnik Nginx, moramo to spremeniti v uporabnika Nginx.

Torej odprite datoteko /etc/php-fpm.d/www.conf.

$ vi /etc/php-fpm.d/www.conf

poiščite ti dve vrstici.

user = apache
group = apache

Zdaj spremenite obe vrednosti v Nginx.

user = nginx
group = nginx

Shranite in zapustite konfiguracijsko datoteko.

Nato znova zaženite Nginx in PHP-FPM, da bodo spremembe začele veljati.

$ sudo systemctl restart nginx
$ sudo systemctl restart php-fpm

5. korak: Testiranje informacij o PHP

Mapa spletnega imenika za Nginx je privzeto na poti/usr/share/nginx/html /. Za preizkus PHP-FPM bomo ustvarili datoteko PHP info.php in prilepili spodnje vrstice.

<?php
 phpinfo();
?>

Shranite in zapustite datoteko.

Zaženite brskalnik in v vrstico URL vnesite naslov IP spletnega strežnika, kot je prikazano.

http://server-ip-address/info.php

Če je šlo vse dobro, boste videli informacije o različici PHP, ki jo uporabljate, in prikazane bodo druge meritve.

In to je to, ljudje! Uspešno ste namestili strežniški niz LEMP na CentOS 8. Zaradi varnostnih ukrepov boste morda želeli odstraniti datoteko info.php, da hekerjem preprečite, da bi podatke dobili s strežnika Nginx.