Otu esi etinye LEMP na Debian 10 Server


Ngwunye “LEMP” bụ ngwakọta nke sọftụwia mepere emepe nke a na-etinyekarị na sava Linux iji wepụta ngwa dị ike. Okwu a bụ acronym na-anọchi anya sistemụ arụmọrụ Linux, sava weebụ Nginx, nchekwa data MariaDB, yana mmemme PHP.

Ọ bụ ezie na nchịkọta \LEMP a na-enwekarị MySQL dị ka usoro njikwa nchekwa data, ụfọdụ nkesa Linux dị ka Debian - jiri MariaDB dị ka ndoba nke MySQL.

  1. Otu esi etinye Debian 10 (Buster) nke pere mpe

N'isiokwu a, anyị ga-akọwara gị otu esi etinye na ịtọlite ebe obibi LEMP na ihe nkesa Debian 10, na-eji MariaDB dị ka ikpo okwu njikwa nchekwa data.

Ịwụnye Nginx Web Server na Debian 10

Nginx bụ oghere mepere emepe na ikpo okwu, dị fechaa ma dị ike ma dị mfe ịhazi HTTP na ihe nkesa proxy, ihe nkesa proxy mail, yana ihe nkesa proxy TCP/UDP, nwere ụkpụrụ ụkpụrụ ụlọ.

Ụfọdụ n'ime njirimara ya gụnyere ozi static na index faịlụ; nkwado ngwa ngwa na caching nke FastCGI, uwsgi, SCGI, na sava Memcached, ndozi ibu na nnabata mmejọ, nkwado SSL na TLS SNI, nkwado HTTP/2 nwere ibu ụzọ dị arọ na ịdabere na ya.

Iji wụnye ngwugwu Nginx, jiri njikwa ngwugwu Debian apt dị ka egosiri.

# apt update 
# apt install nginx 

Ozugbo echichi Nginx zuru, onye nrụnye ga-arụ ọrụ sistemu iji malite ọrụ Nginx ugbu a wee mee ka ọ malite na-akpaghị aka na buut sistemụ. Ị nwere ike ịlele ọkwa Nginx site na iji iwu systemctl na-esonụ.

# systemctl status nginx

Ị nwekwara ike iji iwu ndị a dị mkpa ka ịmalite, malitegharịa, kwụsị, na bugharịa nhazi nke ọrụ Nginx n'okpuru systemd.

# systemctl start nginx
# systemctl restart nginx 
# systemctl stop nginx
# systemctl reload nginx 
# systemctl status nginx 

Ọzọ, ọ bụrụ na ị nwere UFW firewall na-agba ọsọ (ọ na-enwekarị nkwarụ na ndabara), ịkwesịrị imepe ọdụ ụgbọ mmiri 80 (HTTP) na 443 (HTTPS) iji kwe ka okporo ụzọ na-abata na Nginx.

# ufw allow 80
# ufw allow 443
# ufw status

N'oge a, ịkwesịrị ịnwale ma ọ bụrụ na etinyere Nginx nke ọma, ma ọ na-agba ọsọ ma nwee ike ije ozi ibe weebụ. Iji mee nke ahụ, mepee ihe nchọgharị weebụ wee tụọ ya na URL ndị a ka ịnweta ibe weebụ Nginx Debian Default.

http://SERVER_IP/
OR
http://localhost/

Ịwụnye MariaDB na Debian 10

Na-esote, ịkwesịrị ịwụnye usoro nchekwa data ka ị nwee ike ịchekwa na jikwaa data maka weebụsaịtị ma ọ bụ ngwa weebụ gị. Debian 10 na-akwado MariaDB na ndabara, dị ka ntinye ntinye maka MySQL.

Iji wụnye MariaDB, mee iwu a.

# apt install mariadb-server

Na-esote, lelee ọnọdụ ọrụ MariaDB ebe ọ bụ na-amalite na akpaaka site na sistemu ma nyere ya aka ịmalite na buut sistemụ, iji hụ na ọ na-agba ọsọ, jiri iwu na-esonụ.

# systemctl status mariadb

Iji jikwaa (malite, malitegharịa, kwụsị ma bugharịa) ọrụ MariaDB n'okpuru systemd, ị nwere ike iji iwu a.

# systemctl start mariadb
# systemctl restart mariadb
# systemctl stop mariadb
# systemctl reload mariadb

Na-esote, ntinye MariaDB ga-abụ enweghị nchekwa na ndabara. Ịkwesịrị ịme edemede shei nke na-ebubata ya na ngwugwu ahụ, iji nyere gị aka melite nchekwa nchekwa data.

# mysql_secure_installation

Mgbe ịmechara edemede ahụ, ọ ga-ewega gị n'usoro ajụjụ ndị a iji gbanwee ntọala ndabara nke nrụnye MariaDB dị ka egosiri na nseta ihuenyo na-esonụ.

Ịwụnye PHP-FPM (Onye njikwa usoro ngwa ngwa) na Debian 10

N'adịghị ka Apache na sava weebụ ndị ọzọ, Nginx anaghị enye nkwado obodo maka PHP, ebe ọ na-eji PHP-FPM iji dozie arịrịọ maka ibe PHP. PHP-FPM bụ FastCGI daemon ọzọ maka PHP nke na-enye ohere webụsaịtị ijikwa ibu dị elu, site na iji usoro ndị ọrụ na-edozi arịrịọ.

Iji wụnye ụdị PHP-FPM 7.3 yana modul PHP iji soro usoro nchekwa data MariaDB/MySQL kparịta ụka, mee iwu a.

# apt install php-fpm php-mysqli

Mgbe etinyere PHP-FPM, onye nrụnye ga-arụ ọrụ sistemu ka ọ malite ọrụ PHP-FPM ugbu a wee mee ka ọ malite ịmalite na sistemụ buut. Ka ịlele ma ọ na-arụ ọrụ, nye iwu a.

# systemctl status php-fpm

Ị nwekwara ike ịmalite, malitegharịa kwụsị, ma bugharịa nhazi nke ọrụ PHP-FPM n'okpuru systemd, dị ka ndị a.

# systemctl start php-fpm
# systemctl restart php-fpm
# systemctl stop php-fpm
# systemctl reload php-fpm
# systemctl status php-fpm

Ọzọ, ịkwesịrị idobe PHP-FPM site na ime mgbanwe ụfọdụ na faịlụ nhazi /etc/php/7.3/fpm/php.ini dị ka ndị a.

# vi /etc/php/7.3/fpm/php.ini

Chọọ maka ;cgi.fix_pathinfo=1 adịghị ekwu ya site n'iwepụ mkpụrụedemede ; na mbido, tọọ uru ya ka ọ bụrụ 0. Nke a na-egbochi Nginx ikwe ka e gbuo faịlụ ndị na-abụghị PHP dị ka PHP.

cgi.fix_pathinfo=0

Site na ndabara, a na-ahazi PHP-FPM ka ọ gee ntị na UNIX soxket, /run/php/php7.3-fpm.sock dị ka akọwara na faịlụ nhazi /etc/php/7.3/fpm/pool.d/www.conf. Ị ga-ahazi ihe nkesa gị niile (ma ọ bụ ndị ọbịa mebere) iji jiri oghere a ma ọ bụrụ na ha ga-ahazi ma na-eje ozi ibe PHP.

Ị nwere ike iji Nginx ndabere ngọngọ nhazi faịlụ /etc/nginx/sites-available/default iji nwalee ya.

# vi /etc/nginx/sites-available/default 

Chọọ maka ngalaba na-esonụ ma kwupụta ya ka ọ nyefee script PHP na sava FastCGI dị ka egosiri na nseta ihuenyo.

location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}

Na-esote, nwalee ma ọ bụrụ na nhazi nhazi Nginx dị mma, jiri iwu na-esonụ.

# nginx -t

Ọ bụrụ na nhazi Nginx dị mma, iji tinye mgbanwe ndị emere n'oge na-adịbeghị anya, malitegharịa ọrụ php7.3-fpm na nginx dị ka ndị a.

# systemctl restart php7.2-fpm
# systemctl restart nginx

Na-anwale nhazi PHP-FPM na Nginx

Mgbe ịhazi PHP-FPM na Nginx ka ha rụọ ọrụ ọnụ, ịkwesịrị ịnwale ma ọrụ abụọ nwere ike hazie ma jeere ndị ahịa ozi ibe PHP. Iji mee nke ahụ, mepụta ederede PHP dị mfe na DocumentRoot weebụ gị dị ka ndị a.

# echo “<?php phpinfo(); ?>”  | tee /var/www/html/info.php

N'ikpeazụ, mepee ihe nchọgharị wee pịnye adreesị na-esonụ ka ịhụ nhazi PHP na sistemụ dịka ọrụ phpinfo() si arụ ọrụ.

http://SERVER_IP/info.php
OR
http://localhost/info.php

N'isiokwu a, anyị egosila otu esi etinye ma hazie nchịkọta LEMP na Debian 10. Ọ bụrụ na ị nwere ajụjụ ọ bụla ma ọ bụ nzaghachi, biko gbapụta ma mee ka anyị mara site na ụdị nkọwa n'okpuru.