Wụnye LEMP - Nginx, PHP, MariaDB na PhpMyAdmin na OpenSUSE
LEMP ma ọ bụ Linux, Engine-x, MySQL na PHP stack bụ ngwugwu ngwanrọ mejupụtara sọftụwia mepere emepe arụnyere na sistemụ arụmọrụ Linux maka iji ngwa weebụ dabere na PHP nke sava Nginx HTTP na sistemụ njikwa nchekwa data MySQL/MariaDB kwadoro.
Nkuzi a ga-eduzi gị ka esi etinye nchịkọta LEMP na Nginx, MariaDB, PHP, PHP-FPM na PhpMyAdmin na mbipụta OpenSuse/desktọpụ.
Ịwụnye Nginx HTTP Server
Nginx bụ HTTP ngwa ngwa na ntụkwasị obi na sava proxy nke nwere ike ijikwa arịrịọ HTTP dị elu. Ọ na-eji usoro mmemme asynchronous chụpụrụ iji jikwaa arịrịọ, yana ihe owuwu ihe omume ya na-ebute modular nwere ike inye arụmọrụ enwere ike ịkọ karịa n'okpuru ibu dị elu.
Iji tinye Nginx na OpenSuse, mee iwu na-esonụ.
$ sudo zypper install nginx
Ozugbo arụnyere Nginx, ị nwere ike ịmalite ọrụ ahụ ugbu a, wee mee ka ọ malite na akpaghị aka n'oge buut wee nyochaa ọnọdụ Nginx site na ịme iwu ndị a.
$ sudo systemctl start nginx $ sudo systemctl enable nginx $ sudo systemctl status nginx
N'oge a, sava weebụ Nginx kwesịrị ịdị elu ma na-agba ọsọ, ị nwekwara ike nyochaa ọnọdụ site na iji iwu netstat dị ka egosiri.
$ sudo netstat -tlpn | grep nginx
Ugbu a, anyị kwesịrị ịnwale ma nwụnye Nginx na-arụ ọrụ nke ọma. N'adịghị ka nkesa Linux ndị ọzọ, n'okpuru openSUSE, Nginx enweghị ọkọlọtọ index.html
akwụkwọ na nchekwa mgbọrọgwụ weebụ. Anyị kwesịrị ịmepụta faịlụ index.html
ọhụrụ n'okpuru ndekọ ndekọ weebụ \/srv/www/htdocs\
dị ka ihe ngosi.
$ echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html
Ọ bụrụ na etinyere firewalld, ịkwesịrị imepe ọdụ ụgbọ mmiri 80 na 443 iji kwe ka okporo ụzọ webụ na firewall.
$ sudo firewall-cmd --permanent --add-port=80/tcp $ sudo firewall-cmd --permanent --add-port=443/tcp $ sudo firewall-cmd --reload
Ọzọ, mepee ihe nchọgharị weebụ wee gaa na adreesị http://localhost
wee nyochaa ibe Nginx.
Ịwụnye MariaDB Database Server
MariaDB bụ ndụdụ efu na mepere emepe nke sistemụ njikwa nchekwa data MySQL. Ọ bụ ndị nrụpụta mbụ MySQL mebere ya ma bu n'obi ịnọ na-emeghe. MariaDB dị ngwa ngwa, nke nwere ike ịgbatị ma sie ike, nwere nnukwu igwe nchekwa nchekwa, plugins na ọtụtụ ngwaọrụ ndị ọzọ na-eme ka ọ bụrụ nke ukwuu maka ụdị ojiji dị iche iche.
Iji wụnye MariaDB na OpenSuse, mee iwu na-esonụ.
$ sudo zypper install mariadb mariadb-client
Na-esote, bido ọrụ MariaDB maka ugbu a, wee mee ka ọ malite na akpaghị aka n'oge buut wee lelee ọkwa ya.
$ sudo systemctl start mariadb $ sudo systemctl enable mariadb $ sudo systemctl status mariadb
Nzọụkwụ ọzọ dị oke egwu n'okpuru ngalaba a bụ ịchekwa nrụnye nkesa MariaDB. Ya mere, na-agba ọsọ script nchekwa nke ụgbọ mmiri na MariaDB ngwugwu, dị ka egosiri.
Mara: Na-agba ọsọ edemede nchekwa MariaDB yana akụkụ ya niile ka akwadoro maka sava MariaDB niile na mmepụta.
$ sudo mysql_secure_installation
Mgbe ịmechara edemede ahụ, gụọ nkọwa na nzọụkwụ ọ bụla nke ọma. Ịkwesịrị ịtọ okwuntughe onye ọrụ mgbọrọgwụ, wepụ ndị ọrụ na-amaghị aha, gbanyụọ ohere mgbọrọgwụ dịpụrụ adịpụ, wepụ nchekwa data ule wee nweta ya ma mesịa bugharịa tebụl ihe ùgwù.
Ịwụnye na ịhazi PHP na PHP-FPM
PHP-FPM (obere maka PHP FastCGI Process Manager) bụ ihe ọzọ FastCGI daemon maka PHP nwere ụfọdụ ndị ọzọ atụmatụ na e mere iji jikwaa nnukwu ibu. Ọ na-edobe ọdọ mmiri (ndị ọrụ nwere ike ịza arịrịọ PHP) iji mezuo nke a. N'ụzọ dị mkpa, ọ na-adị ngwa karịa ụzọ CGI ọdịnala, dị ka SUPHP, maka gburugburu PHP ọtụtụ ndị ọrụ.
Iji wụnye PHP na PHP-FPM yana modul achọrọ na-eme iwu a.
$ sudo zypper install php php-mysql php-fpm php-gd php-mbstring
Tupu anyị amalite ịmalite ọrụ PHP-FPM, anyị kwesịrị ịmepụta faịlụ nhazi achọrọ site na faịlụ ndabara enyere n'oge nrụnye, ma hazie ọrụ dị njikere maka ịrụ ọrụ.
$ sudo cp /etc/php7/fpm/php-fpm.conf.default /etc/php7/fpm/php-fpm.conf $ sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf
Mepee isi php-fpm.conf
faịlụ nhazi maka ndezi.
$ sudo vim /etc/php7/fpm/php-fpm.conf
Weghachite ahịrị na-esonụ na nọmba ahịrị 24 dị ka egosiri.
error_log = log/php-fpm.log
Chekwaa ma mechie faịlụ ahụ.
Ọzọ, anyị kwesịrị ịkọwapụta ntọala ziri ezi maka ọdọ mmiri ndị ahaziri na faịlụ nhazi www.conf
.
$ sudo vim /etc/php7/fpm/php-fpm.d/www.conf
Nke mbụ, hazie onye nwe Unix na onye nwe otu usoro na onye ọrụ na otu Nginx. Mee nke a site n'ịgbanwe ụkpụrụ nke onye ọrụ na paramita otu site na ọ dịghị onye
gaa na nginx
.
user = nginx group = nginx
Ugbu a, chekwaa mgbanwe na faịlụ ma pụọ na ya.
Na mgbakwunye, enwere otu nhazi dị mkpa iji rụọ ọrụ, nke na-echekwa PHP-FPM na faịlụ /etc/php/cli/php.ini
faịlụ.
$ sudo vim /etc/php7/cli/php.ini
Chọọ ahịrị ;cgi.fix_pathinfo=1
wee gbanwee ya.
cgi.fix_pathinfo=0
Chekwaa mgbanwe na faịlụ wee pụọ.
Na-esote, bido ọrụ PHP-FPM maka ugbu a, wee mee ka ọ malite na akpaghị aka n'oge buut wee lelee ọkwa ya.
$ sudo systemctl start php-fpm $ sudo systemctl enable php-fpm $ sudo systemctl status php-fpm
Ịhazi Nginx ka ọ rụọ ọrụ na PHP-FPM
N'oge a, anyị kwesịrị ịhazi Nginx ka ọ rụọ ọrụ na PHP-FPM na faịlụ nhazi Nginx ndabara.
$ sudo vim /etc/nginx/nginx.conf
Mgbe ahụ, chọọ ngalaba na-esonụ, tinyekwa index.php
n'ime ndepụta faịlụ ndeksi a tụrụ anya ya.
location / { root /srv/www/htdocs/; index index.php index.html index.htm ; }
Chọtakwa ngalaba na-esonụ (nke ekwesịrị ịza ajụjụ) wee kwupụta ya. A na-eji ngalaba a nyefee script PHP gaa na sava FastCGI na-ege ntị na 127.0.0.1:9000.
location ~ \.php$ { root /srv/www/htdocs/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Chekwaa mgbanwe na faịlụ wee pụọ.
Na-anwale Nginx na PHP-FPM
Nzọụkwụ ọzọ bụ ịnwale ma Nginx na-arụ ọrụ nke ọma na njikọ PHP-FPM site na ịmepụta faịlụ nyocha PHP ọhụrụ n'okpuru akwụkwọ ndekọ DocumentRoot dị ka egosiri.
$ echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php
Ugbu a, anyị kwesịrị ịlele ma nhazi Nginx ziri ezi dịka ndị a, tupu anyị amalite ịmalite ọrụ ahụ.
$ sudo nginx -t
Ọ bụrụ na syntax nhazi Nginx dị mma, gaa n'ihu ma malitegharịa ọrụ Nginx na PHP-FPM maka mgbanwe ndị na-adịbeghị anya iji nweta mmetụta.
$ sudo systemctl restart nginx php-fpm
Ugbu a mepee ihe nchọgharị weebụ wee gaa na adreesị http://localhost/info.php
iji nyochaa nhazi PHP dị ka egosiri na nseta ihuenyo na-esonụ.
Ịwụnye na ịhazi PhpMyAdmin
phpMyAdmin bụ ngwa n'efu, dị mfe iji yana ngwa ama ama edere na PHP, wuru maka ijikwa sava MySQL n'elu Weebụ. Ọ na-arụ ọrụ dị iche iche na MySQL na MariaDB.
Iji tinye phpMyAdmin na OpenSuse, mee iwu na-esonụ.
$ sudo zypper install phpMyAdmin
Ozugbo echichi mechara, mepụta faịlụ nhazi vhost ọhụrụ maka ịnweta phpMyAdmin dị ka egosiri.
$ sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf
Tinye nhazi ndị a na faịlụ.
server { listen 80; server_name localhost/phpMyAdmin; root /srv/www/htdocs/phpMyAdmin; location / { try_files $uri /index.php?$args; } location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } }
Chekwaa mgbanwe ndị ahụ wee mechie faịlụ ahụ. Mgbe ahụ malitegharịa ọrụ Nginx site na iji iwu a.
$ sudo systemctl restart nginx
Ugbu a gaa na ihe nchọgharị weebụ gị wee pịnye adreesị http://localhost/phpMyAdmin. Ibe nbanye phpMyAdmin kwesịrị igosipụta dị ka egosiri na nseta ihuenyo na-esonụ. Tinye nzere nbanye onye ọrụ mgbọrọgwụ nchekwa data wee pịa Go.
Ọ gwụla! N'ime nkuzi a, anyị akọwara gị otu esi etinye nchịkọta LEMP na Nginx, MariaDB, PHP, PHP-FPM na PhpMyAdmin na mbipụta OpenSuse/desktọpụ. Ọ bụrụ na ị na-eche nsogbu ọ bụla ihu n'oge nhazi, jụọ ajụjụ gị site na mpempe nkọwa n'okpuru.