“Rocky Linux 8” -e LEMP Stackini nädip gurmaly
LEMP, önümçilikde ýa-da ösüş sikliniň islendik döwründe web programmalaryny ýerleşdirmek we hyzmat etmek üçin köpçülikleýin ulanylýan açyk çeşmeli programma üpjünçiligini öz içine alýan meşhur ýygyndy.
LEMP terminologiýasy web brauzeri, MariaDB ýa-da MySQL - maglumatlar bazasy we dinamiki mazmuny gaýtadan işlemek üçin PHP bolan Linux, Nginx (hereketlendiriji X diýlip atlandyrylýar, şonuň üçin E) üçin gysgaça söz. LEMP ýygyndysy ýokary traffikli we ýokary göwrümli web programmalaryny we web sahypalaryny ýerleşdirmek üçin giňden ulanylýar.
Bu gollanmada, Rocky Linux 8.4-de LEMP stakasyny nädip gurmalydygyny öwrenersiňiz.
LEMP stakany gurnamaga başlamazdan ozal aşakdaky talaplaryň bardygyny anyklaň.
- “Sudo” ulanyjysy bilen “Rocky Linux 8” -iň mysaly.
- Rocky Linux mysalyna SSH giriş.
Geliň başlalyň…
1-nji ädim: Nginx-i Rocky Linux-a guruň
Birinji ädim, Nginx web serweri bolan LEMP stackiniň birinji komponentini gurmak. Ilki bilen paketleri täzeläň.
$ sudo dnf update -y
Täzelenme tamamlanandan soň, aşakdaky buýrugy işledip, Nginx-i guruň. Bu, web serwer tarapyndan talap edilýän beýleki garaşlylyklar bilen birlikde Nginx-i gurýar.
$ sudo dnf install nginx
Nginx ýerinde bolansoň, ýükleme wagtyndan başlamaga we Nginx daemonyny başlamaga mümkinçilik beriň.
$ sudo systemctl enable nginx $ sudo systemctl start nginx
Web serweriniň işleýändigini tassyklamak üçin buýrugy ýerine ýetiriň:
$ sudo systemctl status nginx
Çykyşdan, web serweriniň işleýändigini we işleýändigini aýdyp bileris.
Enougheterlik derejede gyzyklanýan bolsaňyz, Nginx wersiýasyny aşakdaky ýaly barlap bilersiňiz. Çykyş, Nginx 1.14.1 işleýändigimizi görkezýär.
$ nginx -v nginx version: nginx/1.14.1
Mundan başga-da, brauzeriň görkezilen URL-e göz aýlap işleýändigini tassyklap bilersiňiz. Bu, hemme zadyň gowydygyny görkezýän adaty Nginx Hoş geldiňiz sahypasyny görkezer.
http://server-ip or domain name
Sahypany görmekde kynçylyk çekýän bolsaňyz, 80-nji porty açmagy ýa-da gorag diwaryndaky HTTP traffigine rugsat bermegi göz öňünde tutuň.
$ sudo firewall-cmd --zone=public --add-service=http --permanent
Soňra diwar diwaryny täzeden açyň we sahypany täzeden ýükläň.
$ sudo firewall-cmd --reload
2-nji ädim: “Rocky Linux” -da MariaDB guruň
Bu gollanma üçin MariaDB maglumat bazasyny gurarys. Munuň sebäbi, MySQL-dan has ýokary edýän üpjün edýän amatly öndürijiligi we saklaýan hereketlendirijileriniň baýlygy bilen baglanyşyklydyr.
MariaDB maglumat bazasynyň serwerini gurmak üçin buýrugy işlediň:
$ sudo dnf install mariadb-server mariadb
Doneerine ýetirilenden soň, görkezilişi ýaly MariaDB-i işlediň we işlediň.
$ sudo systemctl enable mariadb $ sudo systemctl start mariadb
Soňra onuň ýagdaýyny barlaň.
$ sudo systemctl status mariadb
MariaDB üçin deslapky sazlamalar ýeterlik derejede ygtybarly däl we maglumat bazanyňyzy aňsatlyk bilen bozup bilersiňiz. Iň esasy derejä girýänleriň öňüni almak üçin ätiýaçlyk hökmünde aşakdaky ýazgyny işlediň.
$ sudo mysql_secure_installation
Kök parolyny düzüň.
Galan teklipler üçin, näbelli ulanyjylary aýyrmak, uzakdaky kök girişini inkär etmek, synag bazasyny aýyrmak we ahyrynda edilen üýtgeşmeleri saklamak üçin Y
ýazyň.
Maglumat bazasynyň serwerine girmek üçin buýrugy işlediň:
$ sudo mysql -u root -p
Paroly beriň we ENTER basyň.
3-nji ädim: “Rocky Linux” -da PHP guruň
Gurmak üçin iň soňky komponent, FastCGI Prosess Dolandyryjysyny aňladýan PHP-FPM arkaly PHP. Bu, iň oňat öndürijiligi we ýokary traffikli web sahypalary üçin howpsuzlygy üpjün edýän aýratynlyklary üpjün edýän PHP üçin täsirli we ýokary derejede ösen prosessor.
Başlamak üçin, iň soňky PHP wersiýalaryny üpjün edýän üçünji tarap mugt ammary bolan Remi ammaryny gurarys.
Remi ammaryny işletmek üçin buýrugy işlediň:
$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Remi ammary açyk bolansoň, görkezilen buýrugy ulanyp ýerleşdirilen PHP modullarynyň sanawyny gözden geçiriň.
$ sudo dnf module list php
Çykyşdan, deslapky wersiýanyň 7.2 - [d]
belligi bilen görüp bileris. Şeýle-de bolsa, Remi 8.0 iň soňky moduly gurmakçy.
Şonuň üçin adaty PHP modullaryny täzeden düzüň we iň soňky Remi PHP modulyny işlediň.
$ sudo dnf module list reset php $ sudo dnf module enable php:remi-8.0
Ondan soň ulgamy täzeläň we PHP we PHP-FPM-i islän PHP giňeltmeleriňiz bilen bilelikde guruň.
$ sudo dnf install php php-fpm php-gd php-mysqlnd php-cli php-opcache
Gurmak gutaransoň, görkezilişi ýaly PHP-FPM-i işlediň we işe giriziň.
$ sudo systemctl enable php-fpm $ sudo systemctl start php-fpm
Ondan soň, PHP-FPM-iň işleýän ýagdaýyny barlaň.
$ sudo systemctl status php-fpm
Adatça, PHP-FPM Apache ulanyjysy hökmünde işleýär, ýöne Nginx ulanýandygymyz üçin ony Nginx-e bellemeli. Şonuň üçin aşakdaky konfigurasiýa faýly açyň.
$ sudo vim /etc/php-fpm.d/www.conf
Ulanyjyny we toparyny Nginx-e düzüň.
user = nginx Group = nginx
Ondan soň, PHP-FPM daemonyny täzeden ýükläň.
$ sudo systemctl reload php-fpm
PHP-iň iň soňky wersiýasyny gurnandygymyzy tassyklamak üçin buýrugy işlediň.
$ php -v
Testin PHP-iň başga bir amatly usuly, ýönekeý PHP faýly döretmek we/usr/share/nginx/html-de ýerleşýän webroot katalogyna ýerleşdirmekdir. Şeýlelik bilen,/usr/share/nginx/html webroot katalogynda ýönekeý info.php faýly dörediň.
$ sudo vim /usr/share/nginx/html/info.php
Aşakdaky mazmuny goşuň we faýly ýazdyryň.
<?php phpinfo(); ?>
Üýtgeşmeleri amala aşyrmak üçin Nginx web serwerini täzeden açyň.
$ sudo systemctl restart nginx
Ahyrynda aşakdaky URL-e giriň.
http://server-ip/info.php
Gurlan PHP wersiýasy barada beýleki PHP giňeltmeleri bilen birlikde jikme-jik maglumatly web sahypasy görkeziler.
Şu wagt LEMP gurnamagymyz tamamlandy. Indiki ädimde, Nginx serwer blokuny düzüp, bir sahypa saýty ýerleşdireris.
3-nji ädim: “Rocky Linux” -da Nginx serwer blokuny sazlaň
Serwer bloky dolandyryjylara dürli sahypa resminama kök kataloglaryny kesgitlemek arkaly bir serwerde birnäçe web sahypasyny ýerleşdirmäge mümkinçilik berýär. Bular web sahypasynyň faýllaryny öz içine alýan kataloglar.
Bu ýerde, nusga web sahypasyny ýerleşdirmek üçin ýekeje Nginx serwer blok faýly dörederis.
Ilki bilen, sahypa girýänler üçin elýeterli boljak sahypanyň maglumatlary öz içine alýan resminamanyň katalogyny dörediň. Mysal.com atly domeniňiz bar öýdýän. Sahypanyň domen katalogyny aşakdaky ýaly dörediň. Mysal.com-ny sahypaňyzyň doly kwalifikasiýa domen ady ýa-da hasaba alnan domen bilen çalyşmagy unutmaň.
$ sudo mkdir -p /var/www/example.com/html
Domeniň katalog gurluşy indi sahypanyň faýllaryny ýerleşdirmek üçin düzüldi. Häzirki wagtda faýllara eýe bolan kök ulanyjy. Faýlyň eýesi bolan adaty ulanyjy ýaly eýeçiligi kesgitlemeli.
Faýllaryň eýeçiligini häzirki giren ulanyja üýtgetmek üçin, “chown” buýrugyny ulanyň.
$ sudo chown -R $USER:$USER /var/www/example.com/html
$USER
üýtgeýjisi häzirki giren ulanyjynyň bahasyny alýar we html faýllaryna we kiçi bukjalaryna ulanyjynyň eýeçiligini berýär. Mundan başga-da, sahypa girýänleriň sahypa sahypalaryna girip bilmegi üçin umumy web kök katalogyna okamak üçin rugsat beriň.
$ sudo chmod -R 755 /var/www
Sahypanyň katalogy indi sahypanyň web sahypalaryna hyzmat etmek üçin gowy düzüldi.
Geliň indi synag synag sahypasyny döredeliň. Domeniň html katalogynda gaty esasy index.html faýly dörederis.
$ sudo vim /var/www/example.com/html/index.html
Mazmuny aşakda goýuň. Görşüňiz ýaly, bu gaty esasy, sebäbi biz ony diňe synag maksatly ulanýarys.
<html> <head> <title>Welcome to Example.com!</title> </head> <body> <h1>Success! The server block is active!</h1> </body> </html>
HTML faýly ýazdyryň we çykyň.
Serwer blok faýly, sahypanyň konfigurasiýasyny öz içine alýan faýl. Nginx web serweriniň, sahypa girýänleriň haýyşlaryna nähili jogap berýändigini düşündirýär. Iki katalog döretmek bilen başlarys:
- /etc/nginx/sites-available - Bu serwer blok faýlyny saklaýan katalog.
- /etc/nginx/sites -abled - Katalog Nginx-a serwer blok faýlynyň haýyşlara hyzmat etmäge taýýardygyny habar berýär.
Şonuň üçin kataloglary aşakdaky ýaly dörediň:
$ sudo mkdir /etc/nginx/sites-available $ sudo mkdir /etc/nginx/sites-enabled
Ondan soň, Nginx-iň esasy konfigurasiýa faýlyny redaktirläň.
$ sudo mkdir /etc/nginx/nginx.conf
Aşakdaky setirleri goýuň. Birinji setirde goşmaça konfigurasiýa faýllaryny öz içine alýan kataloga barýan ýol kesgitlenýär. Ikinji setir, domen atlaryny derňemek üçin bölünen ýady artdyrýar.
include /etc/nginx/sites-enabled/*.conf; server_names_hash_bucket_size 64;
Saklaň we çykyň.
Ondan soň serwer blok faýly dörediň.
$ sudo vim /etc/nginx/sites-available/example.com.conf
Mazmuny aşakda goýuň. Mysal.com-ny doly kwalifikasiýaly domen adyňyz (FQDN) ýa-da serwer IP adresi bilen çalyşyň.
server { listen 80; server_name example.com www.example.com; location / { root /var/www/example.com/html; index index.html index.htm; try_files $uri $uri/ =404; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
Faýly ýazdyryň we çykyň.
Netijede, serwer blok faýlyny işletmeli. Munuň üçin serwer blok faýly üçin saýtlar bilen işleýän kataloga simwoliki baglanyşyk dörederis.
$ sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf
Soňra üýtgeşmeler girizilmegi üçin Nginx-i täzeden açyň.
$ sudo systemctl restart nginx
Sazlamany barlamak üçin brauzeriňizi işe giriziň we sahypaňyzyň domenine giriň
http://example.com
Bu, 3-nji ädimde sazlanyşymyz ýaly serwer blokynyň sahypasyny görkezmeli.
Bu bolsa ony jemleýär. Bu gollanmada, sizi Rocky Linux 8-de LEMP stakany gurnamagyň üstünden bardyk we ýörite web sahypasyny ýerleşdiren ýerimizde serwer blok faýlyny döretmek we düzmek üçin bir ädim öňe gitdik.