CentOS 8-de LEMP serwerini nädip gurmaly


LEMP, ýokary traffigi we dinamiki web sahypalaryny güýçlendirmek üçin ulanylýan erkin we açyk çeşme gurallarynyň toplumyny öz içine alýan programma üpjünçiligi. LEMP Linux, Nginx (Motor X diýilýär), MariaDB/MySQL we PHP üçin gysgaça söz.

Nginx açyk çeşme, ygtybarly we ýokary öndürijilikli web serweri bolup, tersine proksi hökmünde iki esse köpelip biler. MariaDB ulanyjy maglumatlaryny saklamak üçin ulanylýan maglumat bazasy ulgamy we PHP dinamiki web sahypalaryny ösdürmek we goldamak üçin ulanylýan serwer tarapyndaky skript dilidir.

Degişli makala: CentOS 8-de LAMP serwerini nädip gurmaly

Bu makalada CentOS 8 Linux paýlanyşynda LEMP serwerini nädip gurmalydygyny öwrenersiňiz.

1-nji ädim: CentOS 8-de programma üpjünçilik paketlerini täzeläň

Işe başlamak üçin aşakdaky dnf buýrugyny işledip, CentOS 8 Linux-da ammar we programma üpjünçilik paketlerini täzeläň.

$ sudo dnf update

2-nji ädim: CentOS 8-de Nginx web serwerini guruň

Bukjalar täzelenenden soň, ýönekeý buýrugy ulanyp, Nginx-i guruň.

$ sudo dnf install nginx

Parça, Nginx gurnamagynyň hiç hili baglanyşyksyz gowy gidendigini görkezýär.

Gurmak tamamlanandan soň, Nginx-i ýüklemäge başlaň we Nginx-iň buýruklary ýerine ýetirip işleýändigini barlaň.

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

Gurlan Nginx wersiýasyny barlamak üçin buýrugy işlediň.

$ nginx -v

Bilesigelijilik sizden gowulaşsa we Nginx hakda has giňişleýin maglumat almak isleseňiz, aşakdaky rpm buýrugyny ýerine ýetiriň.

$ rpm -qi nginx 

Nginx serweriňiziň brauzer ulanyp işleýändigini tassyklamak üçin ulgamyňyzyň IP adresini URL setirine ýazyň we ENTER basyň.

http://server-IP

Nginx web serweriňiziň işleýändigini we işleýändigini görkezýän\Nginx-e hoş geldiňiz web sahypasyny görüp bilmeli.

3-nji ädim: CentOS 8-de MariaDB guruň

MariaDB MySQL-iň erkin we açyk çeşmesi bolup, MySQL üçin has gowy çalyşmagy üpjün edýän iň soňky aýratynlyklary iberýär. MariaDB gurmak üçin buýrugy işlediň.

$ sudo dnf install mariadb-server mariadb

MariaDB-i awtomatiki usulda başlamak üçin işlediň.

$ sudo systemctl enable mariadb

MariaDB serwerini işletmek üçin buýrugy işlediň.

$ sudo systemctl start mariadb

Ony guranyňyzdan soň, ýagdaýyny barlamak üçin aşakdaky buýrugy ulanyň.

$ sudo systemctl status mariadb

MariaDB maglumat bazasynyň motory ygtybarly däl we her kim şahsyýetnamasyz girip biler. MariaDB-ni gatylaşdyrmak we rugsatsyz girmek mümkinçiligini azaltmak üçin buýrugy işlediň.

$ sudo mysql_secure_installation

Munuň yzyndaky teklipler. Birinjisi, kök paroly bellemegiňizi talap edýär. ENTER basyň we kök parolyny kesgitlemek üçin Hawa üçin Y ýazyň.

Paroly belläniňizden soň, näbelli ulanyjyny aýyrmak, synag maglumatlar bazasyny aýyrmak we uzakdaky kök girişini öçürmek üçin galan soraglara jogap beriň.

Thehli ädimleri ýerine ýetireniňizden soň, MariaDB serwerine girip, MariaDB serwer wersiýa maglumatyny barlap bilersiňiz (serweri goranyňyzda görkezen parolyňyzy beriň).

$ mysql -u root -p

4-nji ädim: PHOS 7-ni CentOS 8-de guruň

Ahyrynda, dinamiki web sahypalaryny ösdürmek üçin köplenç ulanylýan skript web programmirleme dili bolan PHP bolan iň soňky komponent LEMP stakany gurmakçy.

Bu gollanmany ýazan wagtyňyz iň soňky wersiýa PHP 7.4. Muny Remi ammaryny ulanyp gurarys. Remi ammary, CentOS-da deslapky görnüşde elýeterli bolmadyk iň täze programma üpjünçiligi wersiýalary bilen iberilýän mugt ammardyr.

EPEL ammaryny gurmak üçin aşakdaky buýrugy işlediň.

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

Ondan soň, ýum-utils-i dowam etdiriň we aşakdaky buýrugy ulanyp täzeden ammar açyň.

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

Ondan soň, gurmak üçin elýeterli PHP modullaryny gözläň.

$ sudo dnf module list php

Görkezilişi ýaly, çykyş PHP modullaryny, akym we gurnama profilini görkezer. Aşakdaky çykyşdan, häzirki gurnalan wersiýanyň kwadrat ýaýyň içinde ýerleşdirilen d harpy bilen görkezilen PHP 7.2 bolandygyny görüp bileris.

Çykyşdan, iň soňky PHP modulynyň guruljak PHP 7.4 bolandygyny hem görüp bileris. Emma ilki bilen PHP modullaryny täzeden düzmeli. Şonuň üçin buýrugy işlediň.

$ sudo dnf module reset php

Ondan soň, PHP 7.4 modulyny işledip işlediň.

$ sudo dnf module enable php:remi-7.4

PHP 7.4 moduly işledilensoň, buýrugy ulanyp, PHP, PHP-FPM (FastCGI Prosess Manager) we baglanyşykly PHP modullaryny guruň.

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

Indi gurnalan wersiýany barlaň.

$ php -v 

Ondan soň, php-fpm işlediň we başlaň.

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

Statusagdaýyny barlamak üçin buýrugy ýerine ýetiriň.

$ sudo systemctl status php-fpm

Anotherene bir zat, adaty ýagdaýda PHP-FPM Apache ulanyjysy hökmünde işlemek üçin düzüldi. Emma Nginx web serwerini işledýändigimiz üçin muny Nginx ulanyjysyna üýtgetmeli.

Şonuň üçin /etc/php-fpm.d/www.conf faýly açyň.

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

bu iki setiri tapyň.

user = apache
group = apache

Indi iki bahany Nginx-e üýtgediň.

user = nginx
group = nginx

Sazlama faýly ýazdyryň we çykyň.

Soňra üýtgeşmeleriň güýje girmegi üçin Nginx we PHP-FPM-i täzeden açyň.

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

5-nji ädim: PHP maglumatlaryny barlamak

Düzgüne görä, Nginx üçin web katalog bukjasy/usr/share/nginx/html/ýolda. PHP-FPM-ni barlamak üçin, PHP faýly info.php dörederis we aşakdaky setirleri goýarys.

<?php
 phpinfo();
?>

Faýly ýazdyryň we çykyň.

Brauzeriňizi işe giriziň we URL setirinde görkezilişi ýaly web serweriňiziň IP adresini ýazyň.

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

Hemmesi gowy geçen bolsa, işleýän PHP wersiýaňyz barada maglumatlary görersiňiz we beýleki ölçegler görkeziler.

Ine, adamlar! CentOS 8-de LEMP serwer toplumyny üstünlikli gurnadyňyz. Howpsuzlyk çäresi hökmünde hakerleriň Nginx serweriňizden maglumat almazlygy üçin info.php faýlyny aýyryp bilersiňiz.