Jinsi ya Kufunga Stack ya LEMP kwenye Rocky Linux 8


LEMP ni rundo maarufu ambalo linajumuisha programu huria ambayo hutumiwa kwa pamoja kupangisha na kuhudumia programu za wavuti, iwe katika uzalishaji au hatua yoyote katika mzunguko wa usanidi.

Istilahi LEMP ni kifupi cha Linux, Nginx (inayotamkwa kama Engine X, hivyo basi E) ambayo ni kivinjari, MariaDB au MySQL - hifadhidata, na PHP kwa kuchakata maudhui yanayobadilika). Rafu ya LEMP inatumiwa sana kukaribisha programu na tovuti zenye trafiki nyingi na zinazoweza kusambazwa sana.

Katika mwongozo huu, utajifunza jinsi ya kusakinisha stack ya LEMP kwenye Rocky Linux 8.4.

Kabla ya kuanza kusakinisha rafu ya LEMP, hakikisha kuwa una mahitaji yafuatayo.

  • Mfano wa Rocky Linux 8 na mtumiaji wa sudo aliyesanidiwa.
  • Ufikiaji wa SSH kwa mfano wa Rocky Linux.

Tuanze…

Hatua ya 1: Sakinisha Nginx kwenye Rocky Linux

Hatua ya kwanza ni kusakinisha kijenzi cha kwanza cha safu ya LEMP ambayo ni seva ya wavuti ya Nginx. Kwanza, sasisha vifurushi.

$ sudo dnf update -y

Baada ya sasisho kukamilika, sasisha Nginx kwa kuendesha amri ifuatayo. Hii inasakinisha Nginx pamoja na tegemezi zingine zinazohitajika na seva ya wavuti.

$ sudo dnf install nginx 

Mara Nginx iko mahali, iwezeshe kuanza wakati wa kuwasha na uanzishe daemon ya Nginx.

$ sudo systemctl enable nginx 
$ sudo systemctl start nginx 

Ili kudhibitisha kuwa seva ya wavuti inafanya kazi, tekeleza amri:

$ sudo systemctl status nginx

Kutoka kwa matokeo, tunaweza kuhitimisha kuwa seva ya wavuti iko tayari kufanya kazi.

Ikiwa una hamu ya kutosha, unaweza kuangalia toleo la Nginx kama ifuatavyo. Matokeo yanaonyesha tunaendesha Nginx 1.14.1.

$ nginx -v

nginx version: nginx/1.14.1

Zaidi ya hayo, unaweza kuthibitisha kuwa kivinjari kinafanya kazi kwa kuvinjari URL iliyoonyeshwa. Hii itaonyesha ukurasa chaguo-msingi wa Kukaribisha wa Nginx unaoonyesha kuwa kila kitu kiko sawa.

http://server-ip or domain name

Ikiwa una matatizo ya kutazama ukurasa, zingatia kufungua mlango wa 80 au kuruhusu trafiki ya HTTP kwenye ngome.

$ sudo firewall-cmd --zone=public --add-service=http --permanent 

Kisha pakia upya ngome na upakie upya ukurasa.

$ sudo firewall-cmd --reload

Hatua ya 2: Sakinisha MariaDB kwenye Rocky Linux

Kwa mwongozo huu, tutasakinisha hifadhidata ya MariaDB. Hii ni kwa sababu ya utendakazi ulioboreshwa na utajiri wa injini za uhifadhi inayotoa ambayo inafanya kuwa bora zaidi kuliko MySQL.

Ili kusakinisha seva ya hifadhidata ya MariaDB, endesha amri:

$ sudo dnf install mariadb-server mariadb

Mara baada ya kumaliza, wezesha na uanze MariaDB kama inavyoonyeshwa.

$ sudo systemctl enable mariadb
$ sudo systemctl start mariadb

Kisha thibitisha hali yake.

$ sudo systemctl status mariadb

Mipangilio chaguomsingi ya MariaDB si salama vya kutosha na hifadhidata yako inaweza kukiukwa kwa urahisi. Kama tahadhari ya kuzuia wavamizi katika kiwango cha msingi zaidi, endesha hati iliyo hapa chini.

$ sudo mysql_secure_installation

Hakikisha kusanidi nenosiri la Mizizi.

Kwa vidokezo vilivyosalia, chapa kwa urahisi Y ili kuondoa watumiaji wasiojulikana, kataa kuingia kwa mizizi kwa mbali, ondoa hifadhidata ya majaribio, na hatimaye uhifadhi mabadiliko yaliyofanywa.

Ili kuingia kwenye seva ya hifadhidata, endesha amri:

$ sudo mysql -u root -p

Toa nenosiri na ubonyeze ENTER.

Hatua ya 3: Sakinisha PHP kwenye Rocky Linux

Sehemu ya mwisho ya kusakinisha ni PHP kupitia PHP-FPM, ambayo inasimama kwa Kidhibiti Mchakato cha FastCGI. Hiki ni kichakataji bora na cha hali ya juu zaidi cha PHP ambacho hutoa vipengele vinavyohakikisha utendakazi bora, na usalama kwa tovuti zenye trafiki ya juu.

Ili kuanza, tutasakinisha hazina ya Remi ambayo ni hazina ya wahusika wengine ambayo hutoa matoleo mapya zaidi ya PHP.

Ili kuwezesha hazina ya Remi, endesha amri:

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

Mara baada ya hazina ya Remi kuwezeshwa, angalia orodha ya moduli za PHP ambazo zinapangishwa kwa kutumia amri iliyoonyeshwa.

$ sudo dnf module list php

Kutoka kwa matokeo, tunaweza kuona kwamba toleo chaguo-msingi ni 7.2 - kwa lebo [d]. Hata hivyo, tutasakinisha moduli ya hivi punde zaidi ambayo ni Remi 8.0.

Kwa hivyo, weka upya moduli chaguo-msingi za PHP na uwashe moduli ya hivi punde zaidi ya Remi PHP.

$ sudo dnf module list reset php
$ sudo dnf module enable php:remi-8.0

Ifuatayo, sasisha mfumo na usakinishe PHP na PHP-FPM pamoja na viendelezi vya PHP unavyopenda.

$ sudo dnf install php php-fpm php-gd php-mysqlnd php-cli php-opcache

Usakinishaji ukishakamilika, washa na uanze PHP-FPM kama inavyoonyeshwa.

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

Ifuatayo, thibitisha hali ya uendeshaji ya PHP-FPM.

$ sudo systemctl status php-fpm

Kwa kawaida, PHP-FPM huendesha kama mtumiaji wa Apache, lakini kwa kuwa tunatumia Nginx, tunahitaji kuiweka kwa Nginx. Kwa hiyo, fungua faili ifuatayo ya usanidi.

$ sudo vim /etc/php-fpm.d/www.conf

Weka mtumiaji na kikundi kwa Nginx.

user = nginx
Group = nginx

Baada ya hapo, pakia upya daemoni ya PHP-FPM.

$ sudo systemctl reload php-fpm

Ili kuthibitisha kuwa tumesakinisha toleo jipya zaidi la PHP, endesha amri.

$ php -v

Njia nyingine nzuri ya Testin PHP ni kuunda faili rahisi ya PHP na kuiweka kwenye saraka ya webroot ambayo iko /usr/share/nginx/html. Kwa hiyo, unda faili rahisi ya info.php kwenye saraka ya webroot /usr/share/nginx/html.

$ sudo vim /usr/share/nginx/html/info.php

Ongeza maudhui yafuatayo na uhifadhi faili.

<?php

phpinfo();

?>

Ili kutekeleza mabadiliko, pakia upya seva ya wavuti ya Nginx.

$ sudo systemctl restart nginx

Hatimaye, fikia URL ifuatayo.

http://server-ip/info.php

Ukurasa wa wavuti wenye maelezo ya kina kuhusu toleo la PHP lililosakinishwa pamoja na viendelezi vingine vya PHP vitaonyeshwa.

Kwa wakati huu, usanidi wetu wa LEMP umekamilika. Katika hatua inayofuata, tutaandaa tovuti ya sampuli kwa kusanidi kizuizi cha seva ya Nginx.

Hatua ya 3: Sanidi Kizuizi cha Seva ya Nginx katika Rocky Linux

Kizuizi cha seva huruhusu wasimamizi kupangisha tovuti nyingi kwenye seva moja kwa kufafanua saraka za msingi za hati za tovuti. Hizi ni saraka ambazo zina faili za tovuti.

Hapa, tutaunda faili moja ya kuzuia seva ya Nginx ili kuandaa sampuli ya tovuti.

Kwanza, tengeneza saraka ya hati ya tovuti ambayo itakuwa na data ya tovuti ambayo itapatikana kwa wageni wa tovuti. Chukulia kuwa una kikoa kinachoitwa example.com. Unda saraka ya kikoa cha tovuti kama ifuatavyo. Hakikisha umebadilisha example.com na Jina la Kikoa Lililohitimu Kamili la tovuti yako au kikoa kilichosajiliwa.

$ sudo mkdir -p /var/www/example.com/html

Muundo wa saraka ya kikoa sasa umewekwa ili kupangisha faili za tovuti. Hivi sasa, ni mtumiaji wa mizizi anayemiliki faili. Tunahitaji kuweka umiliki ili kwamba ni mtumiaji wa kawaida anayemiliki faili.

Ili kubadilisha umiliki wa faili kuwa mtumiaji aliyeingia kwa sasa, tumia amri ya chown.

$ sudo chown -R $USER:$USER /var/www/example.com/html

Tofauti ya $USER inachukua thamani ya mtumiaji aliyeingia kwa sasa na kutoa umiliki wa mtumiaji kwa faili na saraka ndogo za html. Zaidi ya hayo, toa ruhusa ya kusoma kwa saraka ya msingi ya tovuti ili wageni wa tovuti waweze kufikia kurasa za tovuti.

$ sudo chmod -R 755 /var/www

Saraka ya tovuti sasa imesanidiwa vyema ili kuhudumia kurasa za wavuti za tovuti.

Hebu sasa tuunde sampuli ya tovuti ya majaribio. Tutaunda faili ya msingi sana ya index.html katika saraka ya html ya kikoa.

$ sudo vim /var/www/example.com/html/index.html

Bandika yaliyomo hapa chini. Kama unavyoona, ni ya msingi sana kwani tunaitumia kwa madhumuni ya majaribio pekee.

<html>
  <head>
    <title>Welcome to Example.com!</title>
  </head>
  <body>
    <h1>Success! The server block is active!</h1>
  </body>
</html>

Hifadhi na uondoke kwenye faili ya HTML.

Faili ya kuzuia seva ni faili ambayo ina usanidi wa tovuti. Inaelezea jinsi seva ya wavuti ya Nginx inavyojibu maombi kutoka kwa wageni wa tovuti. Tutaanza kwa kuunda saraka mbili:

  • /etc/nginx/sites-available - Hii ni saraka ambayo itahifadhi faili ya kuzuia seva.
  • /etc/nginx/sites-enabled - Saraka inaarifu Nginx kwamba faili ya kuzuia seva iko tayari kuwasilisha maombi.

Kwa hivyo, tengeneza saraka kama ifuatavyo:

$ sudo mkdir /etc/nginx/sites-available
$ sudo mkdir /etc/nginx/sites-enabled

Baada ya hapo, hariri faili kuu ya usanidi ya Nginx.

$ sudo mkdir /etc/nginx/nginx.conf

Bandika mistari ifuatayo. Mstari wa kwanza unabainisha njia ya saraka iliyo na faili za usanidi za ziada. Mstari wa pili huongeza kumbukumbu iliyotengwa kwa kuchanganua majina ya kikoa.

include /etc/nginx/sites-enabled/*.conf;
server_names_hash_bucket_size 64;

Hifadhi na uondoke.

Ifuatayo, tengeneza faili ya kuzuia seva.

$ sudo vim /etc/nginx/sites-available/example.com.conf

Bandika yaliyomo hapa chini. Badilisha mfano.com na jina lako la Kikoa Lililohitimu Kamili (FQDN) au anwani ya IP ya seva.

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;
    }
}

Hifadhi na uondoke faili.

Hatimaye, tunahitaji kuwezesha faili ya kuzuia seva. Ili kufanya hivyo, tutaunda kiungo cha mfano kwa faili ya kuzuia seva kwenye saraka inayowezeshwa na tovuti.

$ sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf

Kisha anza tena Nginx ili mabadiliko yatekelezwe.

$ sudo systemctl restart nginx

Ili kujaribu usanidi, fungua kivinjari chako na utembelee kikoa cha tovuti yako

http://example.com

Hii inapaswa kuonyesha tovuti ya kizuizi cha seva kama tulivyosanidi katika Hatua ya 3.

Na hii inaimaliza. Katika mwongozo huu, tumekutembeza kupitia usakinishaji wa rafu ya LEMP kwenye Rocky Linux 8 na tukaenda hatua zaidi ili kuunda na kusanidi faili ya kuzuia seva ambapo tulipangisha tovuti maalum.