Hvernig á að setja upp LEMP Stack á Rocky Linux 8


LEMP er vinsæll stafli sem samanstendur af opnum hugbúnaði sem er sameiginlega notaður til að hýsa og þjóna vefforritum, hvort sem það er í framleiðslu eða hvaða stig sem er í þróunarferlinu.

Hugtökin LEMP er skammstöfun fyrir Linux, Nginx (borið fram sem Engine X, þar af leiðandi E) sem er vafri, MariaDB eða MySQL – gagnagrunnur og PHP til að vinna úr kraftmiklu efni). LEMP stafla er almennt notaður til að hýsa mikla umferð og mjög stigstærð vefforrit og vefsíður.

Í þessari handbók muntu læra hvernig á að setja upp LEMP stafla á Rocky Linux 8.4.

Áður en þú byrjar að setja upp LEMP stafla skaltu ganga úr skugga um að þú hafir eftirfarandi kröfur.

  • Tilvik af Rocky Linux 8 með sudo notanda stilltan.
  • SSH aðgangur að Rocky Linux tilvikinu.

Byrjum…

Skref 1: Settu upp Nginx á Rocky Linux

Fyrsta skrefið er að setja upp fyrsta þáttinn í LEMP staflanum sem er Nginx vefþjónninn. Fyrst skaltu uppfæra pakkana.

$ sudo dnf update -y

Eftir að uppfærslunni er lokið skaltu setja upp Nginx með því að keyra eftirfarandi skipun. Þetta setur upp Nginx ásamt öðrum ósjálfstæðum sem vefþjónninn krefst.

$ sudo dnf install nginx 

Þegar Nginx er komið á sinn stað, virkjaðu það til að byrja á ræsitíma og ræstu Nginx púkann.

$ sudo systemctl enable nginx 
$ sudo systemctl start nginx 

Til að staðfesta að vefþjónninn sé í gangi skaltu framkvæma skipunina:

$ sudo systemctl status nginx

Af úttakinu getum við ályktað að vefþjónninn sé í gangi.

Ef þú ert nógu forvitinn geturðu athugað útgáfuna af Nginx sem hér segir. Úttakið gefur til kynna að við erum að keyra Nginx 1.14.1.

$ nginx -v

nginx version: nginx/1.14.1

Að auki geturðu staðfest að vafrinn virki með því að skoða vefslóðina sem sýnd er. Þetta mun birta sjálfgefna Nginx Welcome síðu sem gefur til kynna að allt sé í lagi.

http://server-ip or domain name

Ef þú átt í vandræðum með að skoða síðuna skaltu íhuga að opna gátt 80 eða leyfa HTTP umferð á eldveggnum.

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

Síðan skaltu endurhlaða eldvegginn og endurhlaða síðunni.

$ sudo firewall-cmd --reload

Skref 2: Settu upp MariaDB á Rocky Linux

Fyrir þessa handbók munum við setja upp MariaDB gagnagrunninn. Þetta er vegna bjartsýni frammistöðu og auðs geymsluvéla sem það veitir sem gerir það mun betri en MySQL.

Til að setja upp MariaDB gagnagrunnsþjóninn skaltu keyra skipunina:

$ sudo dnf install mariadb-server mariadb

Þegar því er lokið, virkjaðu og ræstu MariaDB eins og sýnt er.

$ sudo systemctl enable mariadb
$ sudo systemctl start mariadb

Staðfestu síðan stöðu þess.

$ sudo systemctl status mariadb

Sjálfgefnar stillingar fyrir MariaDB eru ekki nógu öruggar og auðvelt er að brjóta gagnagrunninn þinn. Sem varúðarráðstöfun til að hindra boðflenna á grunnstigi skaltu keyra handritið hér að neðan.

$ sudo mysql_secure_installation

Vertu viss um að setja upp rót lykilorðið.

Sláðu einfaldlega inn Y fyrir þær leiðbeiningar sem eftir eru til að fjarlægja nafnlausa notendur, hafna ytri rótarinnskráningu, fjarlægja prófunargagnagrunninn og að lokum vista breytingarnar sem gerðar voru.

Til að skrá þig inn á gagnagrunnsþjóninn skaltu keyra skipunina:

$ sudo mysql -u root -p

Gefðu upp lykilorðið og ýttu á ENTER.

Skref 3: Settu upp PHP á Rocky Linux

Síðasti hluti til að setja upp er PHP í gegnum PHP-FPM, sem stendur fyrir FastCGI Process Manager. Þetta er skilvirkur og mjög háþróaður örgjörvi fyrir PHP sem býður upp á eiginleika sem tryggja hámarksafköst og öryggi fyrir vefsíður með mikla umferð.

Til að byrja, munum við setja upp Remi geymsluna sem er ókeypis geymsla þriðja aðila sem veitir nýjustu PHP útgáfurnar.

Til að virkja Remi geymsluna skaltu keyra skipunina:

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

Þegar Remi geymslan er virkjuð skaltu skoða listann yfir PHP einingar sem eru hýstar með skipuninni sem sýnd er.

$ sudo dnf module list php

Af úttakinu getum við séð að sjálfgefna útgáfan er 7.2 – með merkinu [d]. Hins vegar ætlum við að setja upp nýjustu eininguna sem er Remi 8.0.

Þess vegna skaltu endurstilla sjálfgefna PHP einingar og virkja nýjustu Remi PHP einingar.

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

Næst skaltu uppfæra kerfið og setja upp PHP og PHP-FPM ásamt PHP viðbótum sem þú vilt.

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

Þegar uppsetningunni er lokið skaltu virkja og ræsa PHP-FPM eins og sýnt er.

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

Næst skaltu staðfesta hlaupandi stöðu PHP-FPM.

$ sudo systemctl status php-fpm

Venjulega keyrir PHP-FPM sem Apache notandi, en þar sem við erum að nota Nginx þurfum við að stilla það á Nginx. Svo, opnaðu eftirfarandi stillingarskrá.

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

Stilltu notandann og hópinn á Nginx.

user = nginx
Group = nginx

Síðan skaltu endurhlaða PHP-FPM púkinn.

$ sudo systemctl reload php-fpm

Til að staðfesta að við höfum sett upp nýjustu útgáfuna af PHP skaltu keyra skipunina.

$ php -v

Önnur sniðug leið til að prófa PHP er með því að búa til einfalda PHP skrá og setja hana í vefrótarskrána sem er staðsett í /usr/share/nginx/html. Svo, búðu til einfalda info.php skrá í /usr/share/nginx/html webroot möppunni.

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

Bættu við eftirfarandi efni og vistaðu skrána.

<?php

phpinfo();

?>

Til að framkvæma breytingarnar skaltu endurhlaða Nginx vefþjóninn.

$ sudo systemctl restart nginx

Að lokum skaltu opna eftirfarandi vefslóð.

http://server-ip/info.php

Vefsíða með nákvæmum upplýsingum um uppsettu PHP útgáfuna ásamt öðrum PHP viðbótum mun birtast.

Á þessum tímapunkti er LEMP uppsetningu okkar lokið. Í næsta skrefi ætlum við að hýsa sýnishornssíðu með því að stilla Nginx netþjónablokk.

Skref 3: Stilltu Nginx Server Block í Rocky Linux

Miðlarablokk gerir stjórnendum kleift að hýsa margar vefsíður á einum netþjóni með því að skilgreina mismunandi rótarskrár vefskjala. Þetta eru möppurnar sem innihalda vefsíðuskrárnar.

Hér munum við búa til eina Nginx netþjónsblokkskrá til að hýsa sýnishorn af vefsíðu.

Fyrst skaltu búa til skjalaskrá síðunnar sem mun innihalda gögn síðunnar sem verða aðgengileg gestum síðunnar. Gerum ráð fyrir að þú sért með lén sem heitir example.com. Búðu til lénsskrá síðunnar eins og hér segir. Vertu viss um að skipta um example.com fyrir fullgilt lén síðunnar þinnar eða skráð lén.

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

Möppuuppbygging lénsins er nú stillt til að hýsa skrár síðunnar. Sem stendur er það rótnotandinn sem á skrárnar. Við þurfum að stilla eignarhaldið þannig að það sé hinn venjulegi notandi sem á skrána.

Notaðu chown skipunina til að breyta eignarhaldi skráanna í þann notanda sem er skráður inn.

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

$USER breytan tekur gildi notanda sem er innskráður og veitir notanda eignarhald á html skrám og undirmöppum. Að auki, veittu lesheimild fyrir almennu rótarskrána á vefnum svo að gestir síðunnar geti nálgast síðurnar.

$ sudo chmod -R 755 /var/www

Vefskráin er nú vel stillt til að þjóna vefsíðum síðunnar.

Við skulum nú búa til sýnishorn af prófunarsíðu. Við munum búa til mjög einfalda index.html skrá í html möppu lénsins.

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

Límdu efnið hér að neðan. Eins og þú sérð er það frekar einfalt þar sem við erum aðeins að nota það í prófunartilgangi.

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

Vistaðu og farðu úr HTML skránni.

Blokkunarskrá fyrir netþjón er skrá sem inniheldur stillingar síðunnar. Það lýsir því hvernig Nginx vefþjónninn bregst við beiðnum frá gestum síðunnar. Við byrjum á því að búa til tvær möppur:

  • /etc/nginx/sites-available – Þetta er skráin sem mun geyma netþjónablokkaskrána.
  • /etc/nginx/sites-enabled – Skráin lætur Nginx vita að blokkaskrá netþjónsins sé tilbúin til að þjóna beiðnum.

Þess vegna skaltu búa til möppurnar sem hér segir:

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

Síðan skaltu breyta aðalstillingarskrá Nginx.

$ sudo mkdir /etc/nginx/nginx.conf

Límdu eftirfarandi línur. Fyrsta línan tilgreinir slóðina að möppunni sem inniheldur viðbótar stillingarskrár. Önnur línan eykur minni sem er úthlutað til að flokka lén.

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

Vista og hætta.

Næst skaltu búa til netþjónablokkaskrá.

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

Límdu efnið hér að neðan. Skiptu út example.com fyrir Fully Qualified Domain name (FQDN) eða IP tölu netþjóns.

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

Vistaðu og lokaðu skránni.

Að lokum þurfum við að virkja blokkaskrá netþjónsins. Til að gera það munum við búa til táknrænan hlekk fyrir blokkaskrá netþjónsins í möppuna sem virkar fyrir vefsvæði.

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

Endurræstu síðan Nginx til að breytingarnar komi fram.

$ sudo systemctl restart nginx

Til að prófa stillingarnar skaltu ræsa vafrann þinn og heimsækja lén síðunnar þinnar

http://example.com

Þetta ætti að birta síðu netþjónsblokkarinnar eins og við stilltum í skrefi 3.

Og þetta endar það. Í þessari handbók höfum við farið með þig í gegnum uppsetninguna á LEMP staflanum á Rocky Linux 8 og gengið skrefinu lengra til að búa til og stilla netþjónablokkaskrá þar sem við hýstum sérsniðna vefsíðu.