Kaip įdiegti LEMP serverį CentOS 8


LEMP yra programinės įrangos rinkinys, kurį sudaro nemokamų atvirojo kodo įrankių rinkinys, naudojamas didelio srauto ir dinamiškoms svetainėms palaikyti. LEMP yra Linux, Nginx (tariama kaip X variklis), MariaDB/MySQL< akronimas ir PHP.

Nginx yra atvirojo kodo, patikimas ir didelio našumo žiniatinklio serveris, kuris taip pat gali veikti kaip atvirkštinis tarpinis serveris. MariaDB yra duomenų bazės sistema, naudojama vartotojo duomenims saugoti, o PHP yra serverio scenarijų kalba, naudojama dinaminiams tinklalapiams kurti ir palaikyti.

Susijęs straipsnis: kaip įdiegti LAMP serverį „CentOS 8“.

Šiame straipsnyje sužinosite, kaip įdiegti LEMP serverį CentOS 8 Linux paskirstyme.

1 veiksmas: atnaujinkite programinės įrangos paketus „CentOS 8“.

Norėdami pradėti, atnaujinkite saugyklą ir programinės įrangos paketus CentOS 8 Linux, vykdydami šią dnf komandą.

sudo dnf update

2 veiksmas: įdiekite „Nginx Web Server“ „CentOS 8“.

Baigę atnaujinti paketus, įdiekite Nginx naudodami paprastą komandą.

sudo dnf install nginx

Fragmentas rodo, kad Nginx diegimas buvo sėkmingas be jokių trukdžių.

Kai diegimas bus baigtas, sukonfigūruokite Nginx, kad paleistumėte įkrovą, ir patikrinkite, ar Nginx veikia, vykdydami komandas.

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

Norėdami patikrinti įdiegtą Nginx versiją, paleiskite komandą.

nginx -v

Jei smalsumas užvaldo ir norite gauti daugiau informacijos apie Nginx, vykdykite šią rpm komandą.

rpm -qi nginx 

Norėdami patvirtinti, kad Nginx serveris veikia naudojant naršyklę, tiesiog įveskite sistemos IP adresą URL juostoje ir paspauskite ENTER.

http://server-IP

Turėtumėte matyti tinklalapį „Sveiki atvykę į Nginx“, rodantį, kad „Nginx“ žiniatinklio serveris veikia ir veikia.

3 veiksmas: įdiekite „MariaDB“ „CentOS 8“.

MariaDB yra nemokama atvirojo kodo MySQL šakutė, kurioje pateikiamos naujausios funkcijos, todėl jis geriau pakeičia MySQL. Norėdami įdiegti MariaDB, paleiskite komandą.

sudo dnf install mariadb-server mariadb

Norėdami įgalinti MariaDB automatiškai paleisti įkrovos metu, paleiskite.

sudo systemctl enable mariadb

Norėdami paleisti MariaDB serverį, paleiskite komandą.

sudo systemctl start mariadb

Įdiegę naudokite toliau pateiktą komandą, kad patikrintumėte jos būseną.

sudo systemctl status mariadb

MariaDB duomenų bazės variklis yra nesaugus ir bet kas gali prisijungti be kredencialų. Norėdami sustiprinti MariaDB ir apsaugoti ją, kad sumažintumėte neteisėtos prieigos tikimybę, paleiskite komandą.

sudo mysql_secure_installation

Toliau pateikiama eilė raginimų. Pirmasis reikalauja nustatyti root slaptažodį. Paspauskite ENTER ir įveskite Y, jei norite nurodyti Taip, kad nurodytumėte pagrindinį slaptažodį.

Nustatę slaptažodį, atsakykite į likusius klausimus, kad pašalintumėte anoniminį vartotoją, pašalintumėte bandomąją duomenų bazę ir išjungtumėte nuotolinį root prisijungimą.

Atlikę visus veiksmus, galite prisijungti prie MariaDB serverio ir patikrinti MariaDB serverio versijos informaciją (pateikite slaptažodį, kurį nurodėte saugant serverį).

mysql -u root -p

4 veiksmas: įdiekite PHP 7 „CentOS 8“.

Galiausiai ketiname įdiegti paskutinį komponentų paketą LEMP, kuris yra PHP, skriptų žiniatinklio programavimo kalba, dažniausiai naudojama dinaminiams tinklalapiams kurti.

Šio vadovo rašymo metu naujausia versija yraPHP 7.4. Mes ketiname tai įdiegti naudodami Remi saugyklą. Remi saugykla yra nemokama saugykla, kuri pristatoma su naujausiomis pažangiausiomis programinės įrangos versijomis, kurios pagal numatytuosius nustatymus nepasiekiamos CentOS.

Vykdykite toliau pateiktą komandą, kad įdiegtumėte EPEL saugyklą.

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

Po to tęskite ir įdiekite yum-utils ir įgalinkite remi-repository naudodami toliau pateiktą komandą.

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

Tada ieškokite galimų PHP modulių, kuriuos galima įdiegti.

sudo dnf module list php

Kaip parodyta, išvestyje bus rodomi galimi PHP moduliai, srautas ir diegimo profiliai. Iš toliau pateiktos išvesties matome, kad šiuo metu įdiegta versija yra PHP 7.2, pažymėta raide d, esančia laužtiniuose skliaustuose.

Iš išvesties taip pat matome, kad naujausias PHP modulis yra PHP 7.4, kurį ketiname įdiegti. Bet pirmiausia turime iš naujo nustatyti PHP modulius. Taigi paleiskite komandą.

sudo dnf module reset php

Tada paleisdami įgalinkite PHP 7.4 modulį.

sudo dnf module enable php:remi-7.4

Įjungę PHP 7.4 modulį, pagaliau įdiekite PHP, PHP-FPM (FastCGI Process Manager) ir susijusius PHP modulius naudojant komandą.

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

Dabar patikrinkite įdiegtą versiją.

php -v 

Tada įjunkite ir paleiskite php-fpm.

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

Norėdami patikrinti jo būseną, vykdykite komandą.

sudo systemctl status php-fpm

Kitas dalykas yra tai, kad pagal numatytuosius nustatymus PHP-FPM sukonfigūruotas veikti kaip Apache naudotojas. Bet kadangi mes naudojame „Nginx“ žiniatinklio serverį, turime tai pakeisti į „Nginx“ vartotoją.

Taigi atidarykite failą /etc/php-fpm.d/www.conf.

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

raskite šias dvi eilutes.

user = apache
group = apache

Dabar pakeiskite abi reikšmes į Nginx.

user = nginx
group = nginx

Išsaugokite ir išeikite iš konfigūracijos failo.

Tada iš naujo paleiskite Nginx ir PHP-FPM, kad pakeitimai įsigaliotų.

sudo systemctl restart nginx
sudo systemctl restart php-fpm

5 veiksmas: PHP informacijos testavimas

Pagal numatytuosius nustatymus žiniatinklio katalogo aplankas, skirtas Nginx, yra /usr/share/nginx/html/ kelyje. Norėdami išbandyti PHP-FPM, sukursime PHP failą info.php ir įklijuosime toliau pateiktas eilutes.

<?php
 phpinfo();
?>

Išsaugokite ir išeikite iš failo.

Paleiskite naršyklę ir URL juostoje įveskite savo žiniatinklio serverio IP adresą, kaip parodyta.

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

Jei viskas buvo gerai, pamatysite informaciją apie naudojamą PHP versiją ir bus rodoma kita metrika.

Ir viskas, žmonės! Sėkmingai įdiegėte LEMP serverio krūvą CentOS 8. Saugumo sumetimais galbūt norėsite pašalinti failą info.php, kad įsilaužėliai negalėtų gauti informacijos iš jūsų Nginx serverio.