Otu esi etinye LEMP Stack na Rocky Linux 8


LEMP bụ nchịkọta ewu ewu na-agụnye sọftụwia mepere emepe nke a na-ejikọta ọnụ iji kwado ma jeere ngwa weebụ ozi, ma ọ bụ na mmepụta ma ọ bụ ọkwa ọ bụla n'oge usoro mmepe.

Okwu LEMP bụ okwu mkpọ okwu maka Linux, Nginx (akpọ ya dị ka Engine X, ya mere E) nke bụ ihe nchọgharị weebụ, MariaDB ma ọ bụ MySQL - nchekwa data, na PHP maka nhazi ọdịnaya dị ike). A na-eji nchịkọta LEMP eme ihe nke ọma maka ịkwado nnukwu okporo ụzọ yana ngwa weebụ na weebụsaịtị.

N'ime ntuziaka a, ị ga-amụta ka esi etinye nchịkọta LEMP na Rocky Linux 8.4.

Tupu ịmalite ịwụnye nchịkọta LEMP, hụ na ị nwere ihe ndị a chọrọ n'ọnọdụ.

  • Ihe atụ nke Rocky Linux 8 nwere onye ọrụ sudo ahaziri.
  • Nnweta SSH na ihe atụ Rocky Linux.

Ka anyị bido…

Kwụpụ 1: Wụnye Nginx na Rocky Linux

Nzọụkwụ mbụ bụ ịwụnye akụkụ mbụ nke nchịkọta LEMP nke bụ sava weebụ Nginx. Nke mbụ, kwalite ngwugwu.

$ sudo dnf update -y

Mgbe emechara mmelite ahụ, wụnye Nginx site na ịme iwu na-esonụ. Nke a na-etinye Nginx n'akụkụ ndabere ndị ọzọ nke sava weebụ chọrọ.

$ sudo dnf install nginx 

Ozugbo Nginx dị, mee ka ọ malite na oge buut wee malite Nginx daemon.

$ sudo systemctl enable nginx 
$ sudo systemctl start nginx 

Iji gosi na sava weebụ na-agba ọsọ, mebie iwu a:

$ sudo systemctl status nginx

Site na mmepụta, anyị nwere ike ikwubi na sava weebụ na-arụ ọrụ.

Ọ bụrụ n’ịchọ ịmata ihe, ị nwere ike lelee ụdị Nginx dị ka ndị a. Nsonaazụ na-egosi na anyị na-agba ọsọ Nginx 1.14.1.

$ nginx -v

nginx version: nginx/1.14.1

Ọzọkwa, ị nwere ike gosi na ihe nchọgharị ahụ na-arụ ọrụ site na ịgagharị URL ahụ egosiri. Nke a ga-egosiputa ibe nnabata Nginx ndabara na-egosi na ihe niile dị mma.

http://server-ip or domain name

Ọ bụrụ na ị na-enwe nsogbu na-elele ibe ahụ, tụlee imepe ọdụ ụgbọ mmiri 80 ma ọ bụ ikwe ka okporo ụzọ HTTP dị na firewall.

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

Mgbe ahụ, bugharịa firewall ma bugharịa ibe ahụ.

$ sudo firewall-cmd --reload

Kwụpụ 2: Wụnye MariaDB na Rocky Linux

Maka ntuziaka a, anyị ga-etinye nchekwa data MariaDB. Nke a bụ n'ihi arụmọrụ kachasị mma yana akụ nke igwe nchekwa ọ na-enye nke na-eme ka ọ dị elu karịa MySQL.

Iji wụnye ihe nkesa nchekwa data MariaDB, mee iwu:

$ sudo dnf install mariadb-server mariadb

Ozugbo emechara, gbanye ma malite MariaDB dị ka egosiri.

$ sudo systemctl enable mariadb
$ sudo systemctl start mariadb

Wee chọpụta ọkwa ya.

$ sudo systemctl status mariadb

Ntọala ndabara maka MariaDB enweghị nchekwa zuru oke yana enwere ike imebi nchekwa data gị ngwa ngwa. Dịka ịkpachara anya iji gbochie ndị omempụ na ọkwa kachasị mkpa, mee edemede dị n'okpuru.

$ sudo mysql_secure_installation

Jide n'aka na ịtọlite paswọọdụ mgbọrọgwụ.

Maka mkpali ndị fọdụrụ, naanị pịnye Y iji wepụ ndị ọrụ amaghị aha, jụ nbanye mgbọrọgwụ, wepụ nchekwa data ule, wee chekwaa mgbanwe ndị emere.

Iji banye na ihe nkesa nchekwa data, mee iwu:

$ sudo mysql -u root -p

Tinye paswọọdụ wee pịa ENTER.

Kwụpụ 3: Wụnye PHP na Rocky Linux

Akụkụ ikpeazụ ịwụnye bụ PHP site na PHP-FPM, nke na-anọchi anya FastCGI Process Manager. Nke a bụ ihe nhazi nke ọma na nke dị elu maka PHP nke na-enye atụmatụ ndị na-ekwe nkwa ịrụ ọrụ kacha mma, yana nchekwa maka ebe nrụọrụ weebụ na-eme njem dị elu.

Iji bido, anyị ga-etinye ebe nchekwa Remi nke bụ ebe nchekwa efu nke ndị ọzọ na-enye ụdị PHP kacha ọhụrụ.

Iji mee ka ebe nchekwa Remi nwee ike, mee iwu:

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

Ozugbo etinyere ebe nchekwa Remi, lelee ndepụta nke modul PHP nke ejiri iwu egosiri.

$ sudo dnf module list php

Site na mmepụta, anyị nwere ike ịhụ na ụdị ndabara bụ 7.2 - ya na mkpado [d] . Agbanyeghị, anyị ga-etinye modul kacha ọhụrụ bụ Remi 8.0.

Ya mere, tọgharịa modul PHP ndabara wee mee ka modul PHP Remi kachasị ọhụrụ.

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

Na-esote, melite usoro ma wụnye PHP na PHP-FPM n'akụkụ PHP ndọtị nke mmasị gị.

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

Ozugbo echichi mechara, mee ma malite PHP-FPM dịka egosiri.

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

Na-esote, nyochaa ọnọdụ ọsọ nke PHP-FPM.

$ sudo systemctl status php-fpm

Dị ka ọ na-adịkarị, PHP-FPM na-agba ọsọ dị ka onye ọrụ Apache, mana ebe anyị na-eji Nginx, anyị kwesịrị ịtọ ya na Nginx. Yabụ, mepee faịlụ nhazi a.

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

Tọọ onye ọrụ na otu na Nginx.

user = nginx
Group = nginx

Mgbe nke ahụ gasịrị, bugharịa daemon PHP-FPM.

$ sudo systemctl reload php-fpm

Iji gosi na anyị etinyela ụdị PHP kachasị ọhụrụ, mee iwu ahụ.

$ php -v

Ụzọ ọzọ dị mma nke Testin PHP bụ site na ịmepụta faịlụ PHP dị mfe ma tinye ya na ndekọ webroot nke dị na /usr/share/nginx/html. Yabụ, mepụta faịlụ info.php dị mfe na ndekọ webroot /usr/share/nginx/html.

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

Tinye ọdịnaya ndị a ma chekwaa faịlụ ahụ.

<?php

phpinfo();

?>

Iji mee mgbanwe ndị a, bugharịa sava weebụ Nginx.

$ sudo systemctl restart nginx

N'ikpeazụ, nweta URL ndị a.

http://server-ip/info.php

A ga-egosipụta ibe weebụ nwere ozi zuru ezu gbasara ụdị PHP arụnyere na mgbakwunye PHP ndị ọzọ.

N'ebe a, nhazi LEMP anyị ezuola. Na nzọụkwụ ọzọ, anyị ga-akwado saịtị nlele site na ịhazi ngọngọ nkesa Nginx.

Kwụpụ 3: Hazie Nginx Server Block na Rocky Linux

Ihe ngọngọ nkesa na-enye ndị nchịkwa ohere ịnabata ọtụtụ weebụsaịtị n'otu nkesa site na ịkọwa akwụkwọ ndekọ aha saịtị dị iche iche. Ndị a bụ akwụkwọ ndekọ aha nwere faịlụ webụsaịtị.

N'ebe a, anyị ga-emepụta otu faịlụ ngọngọ sava Nginx iji kwado webụsaịtị nlele.

Nke mbụ, mepụta akwụkwọ ndekọ aha saịtị nke ga-enwe data saịtị nke ga-adị maka ndị ọbịa saịtị. Were ya na ị nwere ngalaba akpọrọ example.com. Mepụta ndekọ ngalaba saịtị dị ka ndị a. Jide n'aka na dochie example.com na saịtị gị zuru oke ruru eru ngalaba aha ma ọ bụ aha ngalaba.

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

A na-ahazi nhazi ndekọ aha ngalaba ka ọ kwado faịlụ saịtị ahụ. Ugbu a, ọ bụ onye ọrụ mgbọrọgwụ nwere faịlụ. Anyị kwesịrị ịtọ onye nwe ya ka ọ bụrụ onye ọrụ oge niile nwere faịlụ ahụ.

Ka ịgbanwee nwe faịlụ ndị ahụ ka ọ bụrụ onye abanyela ugbu a, jiri iwu chown.

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

Ihe mgbanwe $USER na-ewere uru onye ọrụ abanyela ugbu a wee nye onye ọrụ ikike na faịlụ HTML na akwụkwọ ntụzịaka. Na mgbakwunye, nye ikike ịgụ akwụkwọ na ndekọ mgbọrọgwụ mkpokọta weebụ ka ndị ọbịa saịtị wee nweta ibe saịtị ahụ.

$ sudo chmod -R 755 /var/www

Ahaziri akwụkwọ ndekọ aha saịtị ahụ nke ọma ka ọ na-eje ozi ibe weebụ nke saịtị ahụ.

Ka anyị mepụta saịtị nlele nlele ugbu a. Anyị ga-emepụta faịlụ index.html bụ isi na ndekọ HTML nke ngalaba ahụ.

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

Tapawa ọdịnaya n'okpuru. Dị ka ị pụrụ ịhụ, ọ bụ nnọọ isi ebe anyị na-eji ya naanị maka ule ebumnuche.

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

Chekwaa wee pụọ na faịlụ HTML.

Faịlụ ngọngọ nkesa bụ faịlụ nwere nhazi saịtị ahụ. Ọ na-akọwapụta ka sava weebụ Nginx si anabata arịrịọ sitere n'aka ndị ọbịa saịtị ahụ. Anyị ga-amalite site na ịmepụta akwụkwọ ndekọ aha abụọ:

  • /etc/nginx/sites-dị - Nke a bụ ndekọ ga-ejide faịlụ ngọngọ nkesa.
  • /etc/nginx/sites-enabled – Akwụkwọ ndekọ aha na-eme ka Nginx mara na faịlụ ngọngọ sava adịla njikere inye arịrịọ.

Ya mere, mepụta akwụkwọ ndekọ aha dị ka ndị a:

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

Mgbe nke ahụ gasịrị, dezie faịlụ nhazi Nginx.

$ sudo mkdir /etc/nginx/nginx.conf

Tapawa ahịrị ndị a. Ahịrị nke mbụ na-akọwapụta ụzọ na ndekọ nwere faịlụ nhazi ndị ọzọ. Ahịrị nke abụọ na-abawanye ebe nchekwa ekenyela na ịkọ aha ngalaba.

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

Chekwa ma pụọ.

Na-esote, mepụta faịlụ ngọngọ nkesa.

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

Tapawa ọdịnaya n'okpuru. Dochie example.com na aha ngalaba zuru oke (FQDN) ma ọ bụ adreesị IP nkesa.

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

Chekwaa wee pụọ na faịlụ ahụ.

N'ikpeazụ, anyị kwesịrị ime ka ihe nkesa ngọngọ faịlụ. Iji mee nke a, anyị ga-emepụta njikọ ihe atụ maka faịlụ ngọngọ nkesa na ndekọ saịtị nyere aka.

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

Mgbe ahụ malitegharịa Nginx maka mgbanwe ndị a ga-eme.

$ sudo systemctl restart nginx

Iji nwalee nhazi ahụ malite ihe nchọgharị gị wee gaa na ngalaba saịtị gị

http://example.com

Nke a kwesịrị igosipụta saịtị ngọngọ nkesa ka anyị hazie na Nzọụkwụ 3.

Na nke a na-ekekọta ya. N'ime ntuziaka a, anyị ejegharịla gị site na ntinye nke nchịkọta LEMP na Rocky Linux 8 wee gaa n'ihu iji mepụta na hazie faịlụ ngọngọ nkesa ebe anyị kwadoro ebe nrụọrụ weebụ omenala.