Kif Tinstalla LEMP Stack fuq Rocky Linux 8


LEMP huwa munzell popolari li jinkludi softwer open-source li huwa kollettivament użat biex jospita u jservi applikazzjonijiet tal-web, kemm jekk fil-produzzjoni jew fi kwalunkwe stadju tul iċ-ċiklu tal-iżvilupp.

It-terminoloġija LEMP hija akronimu għal Linux, Nginx (pronunzjata bħala Engine X, għalhekk l-E) li hija web browser, MariaDB jew MySQL - database, u PHP għall-ipproċessar ta 'kontenut dinamiku). Il-munzell LEMP jintuża b'mod popolari biex jospita applikazzjonijiet u websajts tal-web bi traffiku għoli u skalabbli ħafna.

F'din il-gwida, titgħallem kif tinstalla l-munzell LEMP fuq Rocky Linux 8.4.

Qabel ma tibda tinstalla l-munzell LEMP, kun żgur li għandek ir-rekwiżiti li ġejjin fis-seħħ.

  • Istanza ta' Rocky Linux 8 b'utent sudo kkonfigurat.
  • Aċċess SSH għall-istanza Rocky Linux.

Ejja nibdew…

Pass 1: Installa Nginx fuq Rocky Linux

L-ewwel pass huwa li tinstalla l-ewwel komponent tal-munzell LEMP li huwa s-server tal-web Nginx. L-ewwel, aġġorna l-pakketti.

$ sudo dnf update -y

Wara li jitlesta l-aġġornament, installa Nginx billi tħaddem il-kmand li ġej. Dan jinstalla Nginx flimkien ma 'dipendenzi oħra meħtieġa mill-webserver.

$ sudo dnf install nginx 

Ladarba Nginx ikun f'postu, ppermettih jibda fil-ħin tal-ibbutjar u jibda d-daemon Nginx.

$ sudo systemctl enable nginx 
$ sudo systemctl start nginx 

Biex tikkonferma li s-server tal-web qed jaħdem, eżegwixxi l-kmand:

$ sudo systemctl status nginx

Mill-output, nistgħu nikkonkludu li l-webserver qed jaħdem.

Jekk int kurjuż biżżejjed, tista 'tiċċekkja l-verżjoni ta' Nginx kif ġej. L-output jindika li qed inħaddmu Nginx 1.14.1.

$ nginx -v

nginx version: nginx/1.14.1

Barra minn hekk, tista 'tikkonferma li l-browser qed jaħdem billi tibbrawżja l-URL murija. Dan se juri l-paġna default Nginx Merħba li tindika li kollox huwa tajjeb.

http://server-ip or domain name

Jekk qed ikollok problemi biex tara l-paġna, ikkunsidra li tiftaħ il-port 80 jew li tippermetti t-traffiku HTTP fuq il-firewall.

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

Imbagħad erġa' tagħbija l-firewall u erġa' tagħbija l-paġna.

$ sudo firewall-cmd --reload

Pass 2: Installa MariaDB fuq Rocky Linux

Għal din il-gwida, aħna se ninstallaw id-database MariaDB. Dan huwa dovut għall-prestazzjoni ottimizzata u l-ġid tal-magni tal-ħażna li jipprovdi li jagħmilha ferm aktar superjuri għal MySQL.

Biex tinstalla s-server tad-database MariaDB, mexxi l-kmand:

$ sudo dnf install mariadb-server mariadb

Ladarba jsir, ippermetti u ibda MariaDB kif muri.

$ sudo systemctl enable mariadb
$ sudo systemctl start mariadb

Imbagħad ivverifika l-istatus tagħha.

$ sudo systemctl status mariadb

Is-settings awtomatiċi għal MariaDB mhumiex sikuri biżżejjed u d-database tiegħek tista' faċilment tinkiser. Bħala prekawzjoni biex tiskoraġġixxi l-intrużi fl-aktar livell bażiku, mexxi l-iskript hawn taħt.

$ sudo mysql_secure_installation

Kun żgur li twaqqaf il-password Root.

Għall-promps li jifdal, sempliċement ittajpja Y biex tneħħi utenti anonimi, tiċħad il-login bl-għeruq mill-bogħod, neħħi d-database tat-test, u fl-aħħar issalva l-bidliet li saru.

Biex tidħol fis-server tad-database, mexxi l-kmand:

$ sudo mysql -u root -p

Ipprovdi l-password u agħfas ENTER.

Pass 3: Installa PHP fuq Rocky Linux

L-aħħar komponent li jinstalla huwa PHP permezz ta 'PHP-FPM, li tfisser FastCGI Process Manager. Dan huwa proċessur effiċjenti u avvanzat ħafna għall-PHP li jipprovdi karatteristiċi li jiggarantixxu l-aħjar prestazzjoni, u sigurtà għal websajts b'traffiku għoli.

Biex nibdew, se ninstallaw ir-repożitorju Remi li huwa repożitorju b'xejn ta 'parti terza li jipprovdi l-aħħar verżjonijiet tal-PHP.

Biex tippermetti r-repożitorju Remi, mexxi l-kmand:

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

Ladarba r-repożitorju Remi jiġi attivat, iċċekkja l-lista ta 'moduli PHP li huma ospitati bl-użu tal-kmand muri.

$ sudo dnf module list php

Mill-output, nistgħu naraw li l-verżjoni default hija 7.2 - bit-tikketta [d]. Madankollu, se ninstallaw l-aħħar modulu li huwa Remi 8.0.

Għalhekk, reset il-moduli PHP default u ppermetti l-aħħar modulu Remi PHP.

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

Sussegwentement, aġġorna s-sistema u installa PHP u PHP-FPM flimkien ma' estensjonijiet PHP tal-preferenza tiegħek.

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

Ladarba l-installazzjoni titlesta, ppermetti u ibda PHP-FPM kif muri.

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

Sussegwentement, ivverifika l-istatus ta 'tħaddim ta' PHP-FPM.

$ sudo systemctl status php-fpm

Normalment, PHP-FPM jaħdem bħala l-utent Apache, iżda peress li qed nużaw Nginx, irridu nissettjawha għal Nginx. Allura, iftaħ il-fajl ta 'konfigurazzjoni li ġej.

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

Issettja l-utent u l-grupp għal Nginx.

user = nginx
Group = nginx

Minn hemm 'il quddiem, erġa' tagħbija d-daemon PHP-FPM.

$ sudo systemctl reload php-fpm

Biex tikkonferma li installajna l-aħħar verżjoni tal-PHP, mexxi l-kmand.

$ php -v

Mod nifty ieħor ta 'Testin PHP huwa billi toħloq fajl PHP sempliċi u tpoġġih fid-direttorju webroot li jinsab f'/usr/share/nginx/html. Allura, oħloq fajl info.php sempliċi fid-direttorju webroot /usr/share/nginx/html.

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

Żid il-kontenut li ġej u ssejvja l-fajl.

<?php

phpinfo();

?>

Biex twettaq il-bidliet, erġa' tagħbija s-server tal-web Nginx.

$ sudo systemctl restart nginx

Fl-aħħarnett, aċċess għall-URL li ġej.

http://server-ip/info.php

Se tintwera paġna web b'informazzjoni dettaljata dwar il-verżjoni PHP installata flimkien ma' estensjonijiet PHP oħra.

F'dan il-punt, is-setup LEMP tagħna hija kompluta. Fil-pass li jmiss, se nospitaw sit tal-kampjun billi nikkonfiguraw blokka server Nginx.

Pass 3: Ikkonfigura Nginx Server Block f'Rocky Linux

Blokk ta 'server jippermetti lill-amministraturi jospitaw websajts multipli fuq server wieħed billi jiddefinixxu direttorji ta' l-għeruq tad-dokumenti tas-sit differenti. Dawn huma d-direttorji li fihom il-fajls tal-websajt.

Hawnhekk, se noħolqu fajl wieħed ta' blokk tas-server Nginx biex jospita websajt kampjun.

L-ewwel nett, oħloq id-direttorju tad-dokumenti tas-sit li jkun fih id-dejta tas-sit li se tkun disponibbli għall-viżitaturi tas-sit. Assumi li għandek dominju msejjaħ example.com. Oħloq id-direttorju tad-dominju tas-sit kif ġej. Kun żgur li tissostitwixxi example.com bl-Isem tad-Dominju Kwalifikat Sħiħ tas-sit tiegħek jew dominju reġistrat.

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

L-istruttura tad-direttorju tad-dominju issa hija ssettjata biex tospita l-fajls tas-sit. Bħalissa, huwa l-utent għerq li jippossjedi l-fajls. Irridu nissettjaw is-sjieda b'tali mod li huwa l-utent regolari li jkollu l-fajl.

Biex tibdel is-sjieda tal-fajls għall-utent li illoggja bħalissa, uża l-kmand chown.

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

Il-varjabbli $USER tieħu l-valur tal-utent li illoggja bħalissa u tagħti lill-utent il-pussess tal-fajls html u s-subdirettorji. Barra minn hekk, agħti permess tal-qari lid-direttorju ġenerali tal-għeruq tal-web sabiex il-viżitaturi tas-sit ikunu jistgħu jaċċessaw il-paġni tas-sit.

$ sudo chmod -R 755 /var/www

Id-direttorju tas-sit issa huwa kkonfigurat tajjeb biex iservi l-paġni web tas-sit.

Ejja issa noħolqu sit tat-test kampjun. Aħna se noħolqu fajl index.html bażiku ħafna fid-direttorju html tad-dominju.

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

Paste l-kontenut hawn taħt. Kif tistgħu taraw, huwa pjuttost bażiku peress li qed nużawha biss għal skopijiet ta 'ttestjar.

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

Issejvja u oħroġ mill-fajl HTML.

Fajl tal-blokk tas-server huwa fajl li fih il-konfigurazzjoni tas-sit. Jispjega kif is-server tal-web Nginx jirrispondi għat-talbiet mill-viżitaturi tas-sit. Se nibdew billi noħolqu żewġ direttorji:

  • /etc/nginx/sites-available – Dan huwa d-direttorju li se jżomm il-fajl tal-blokk tas-server.
  • /etc/nginx/sites-enabled – Id-direttorju jinnotifika lil Nginx li l-fajl tal-blokk tas-server huwa lest biex iservi t-talbiet.

Għalhekk, oħloq id-direttorji kif ġej:

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

Minn hemm 'il quddiem, editja l-fajl tal-konfigurazzjoni prinċipali ta' Nginx.

$ sudo mkdir /etc/nginx/nginx.conf

Paste l-linji li ġejjin. L-ewwel linja tispeċifika l-mogħdija għad-direttorju li fih fajls ta 'konfigurazzjoni addizzjonali. It-tieni linja żżid il-memorja allokata għall-parsing tal-ismijiet tad-dominju.

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

Issejvja u oħroġ.

Sussegwentement, oħloq fajl tal-blokk tas-server.

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

Paste l-kontenut hawn taħt. Ibdel example.com bl-isem tad-Dominju Kompletament Kwalifikat (FQDN) jew l-indirizz IP tas-server tiegħek.

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

Issejvja u oħroġ mill-fajl.

Fl-aħħarnett, irridu nippermettu l-fajl tal-blokk tas-server. Biex tagħmel dan, aħna ser noħolqu rabta simbolika għall-fajl tal-blokk tas-server għad-direttorju attivat mis-siti.

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

Imbagħad erġa ibda Nginx biex il-bidliet jiġu effettwati.

$ sudo systemctl restart nginx

Biex tittestja l-konfigurazzjoni, iniedi l-browser tiegħek u żur id-dominju tas-sit tiegħek

http://example.com

Dan għandu juri s-sit tal-blokk tas-server kif konfigurajna fil-Pass 3.

U dan jgħaqqadha. F'din il-gwida, imxijniek permezz tal-installazzjoni tal-munzell LEMP fuq Rocky Linux 8 u morna pass 'il quddiem biex noħolqu u kkonfigurajna fajl tal-blokk tas-server fejn ospitajna websajt tad-dwana.