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.