OpenSUSE-de LEMP - Nginx, PHP, MariaDB we PhpMyAdmin guruň


LEMP ýa-da Linux, Engine-x, MySQL we PHP stack, Nginx HTTP serweri we MySQL/MariaDB maglumat bazasy dolandyryş ulgamy bilen işleýän PHP esasly web programmalaryny işletmek üçin Linux operasiýa ulgamynda gurlan açyk çeşme programma üpjünçiliginden ybaratdyr.

Bu gollanma, OpenSuse serwerinde/iş stoly neşirlerinde Nginx, MariaDB, PHP, PHP-FPM we PhpMyAdmin bilen LEMP stakasyny nädip gurmalydygy barada görkezme berer.

Nginx HTTP serwerini gurmak

Nginx, çalt we ygtybarly HTTP we proksi serwer bolup, HTTP islegleriniň has köp ýüküni alyp bilýär. Islegleri çözmekde asynkron hadysalara esaslanýan çemeleşmäni ulanýar we modully hadysalara esaslanýan arhitekturasy ýokary ýükleriň aşagynda has öňünden aýdylýan öndürijiligi üpjün edip biler.

OpenSuse-da Nginx gurmak üçin aşakdaky buýrugy işlediň.

$ sudo zypper install nginx

“Nginx” gurlansoň, hyzmaty häzirlikçe başlap bilersiňiz, soň bolsa ony awtomatiki usulda işledip we aşakdaky buýruklary işledip Nginx-iň ýagdaýyny barlap bilersiňiz.

$ sudo systemctl start nginx
$ sudo systemctl enable nginx
$ sudo systemctl status nginx

Bu pursatda, Nginx web serweri işlemeli we işlemeli, netstat buýrugyny görkezilişi ýaly barlap bilersiňiz.

$ sudo netstat -tlpn | grep nginx

Indi, Nginx gurnamagynyň gowy işleýändigini barlamaly. Beýleki Linux paýlamalaryndan tapawutlylykda, openSUSE-de, Nginx-iň web kök bukjasynda adaty index.html resminamasy ýok. Görkeziş hökmünde kök web katalogynyň aşagyndaky \/srv/www/htdocs\ täze index.html faýly döretmeli.

$ echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html

Gorag diwary gurlan bolsa, diwar diwaryndaky web traffigine rugsat bermek üçin 80 we 443 porty açmaly.

$ sudo firewall-cmd --permanent --add-port=80/tcp
$ sudo firewall-cmd --permanent --add-port=443/tcp
$ sudo firewall-cmd --reload

Ondan soň web brauzerini açyň we http:// localhost adresine geçiň we Nginx sahypasyny barlaň.

MariaDB maglumat bazasynyň serwerini gurmak

MariaDB, MySQL baglanyşyk bazasyny dolandyrmak ulgamynyň erkin we açyk çeşmesi. MySQL-yň asyl döredijileri tarapyndan işlenip düzüldi we açyk çeşmede galmagy maksat edinýär. “MariaDB” çalt, ulaldylyp bilinýän we ygtybarly, saklaýjy hereketlendirijileriň, pluginleriň we beýleki köp sanly gurallaryň ekosistemasy bilen ony köp ulanylyş ýagdaýlary üçin köp taraply edýär.

MariaDB-ni OpenSuse-da gurmak üçin aşakdaky buýrugy işlediň.

$ sudo zypper install mariadb mariadb-client 

Ondan soň, MariaDB hyzmatyny häzirlikçe başlaň, soňra ýükleme wagtynda awtomatiki başlamaga we ýagdaýyny barlamaga mümkinçilik beriň.

$ sudo systemctl start mariadb 
$ sudo systemctl enable mariadb 
$ sudo systemctl status mariadb 

Bu bölümiň indiki möhüm ädimi, MariaDB serwerini gurnamagy üpjün etmekdir. Şonuň üçin görkezilişi ýaly MariaDB bukjasy bilen iberilýän howpsuzlyk skriptini işlediň.

Bellik: MariaDB howpsuzlyk skriptini we onuň böleklerini işletmekde ähli MariaDB serwerleri üçin maslahat berilýär.

$ sudo mysql_secure_installation 

Scriptazgy işledilenden soň, her ädimdäki beýany üns bilen okaň. Kök ulanyjynyň parolyny bellemeli, näbelli ulanyjylary aýyrmaly, uzakdan kök ygtyýaryny öçürmeli, synag bazasyny aýyrmaly we oňa girmeli we ahyrsoňy aýratynlyklar tablisasyny täzeden açmaly.

PHP we PHP-FPM gurmak we sazlamak

PHP-FPM (PHP FastCGI Prosess Dolandyryjysy üçin gysga) käbir goşmaça aýratynlyklary bolan we ýokary ýükleri dolandyrmak üçin döredilen PHP üçin alternatiw FastCGI daemondyr. Muny ýerine ýetirmek üçin howuzlary (PHP haýyşlaryna jogap berip biljek işçiler) saklaýar. Möhümi, köp ulanyjy PHP gurşawy üçin SUPHP ýaly adaty CGI esasly usullardan has çalt.

PHP we PHP-FPM gurmak üçin zerur modullar bilen bilelikde aşakdaky buýrugy işlediň.

$ sudo zypper install php php-mysql php-fpm php-gd php-mbstring

PHP-FPM hyzmatyna başlamazdan ozal, gurnama wagtynda berlen deslapky faýllardan zerur konfigurasiýa faýllaryny döretmeli we amallary taýýar hyzmaty düzmeli.

$ 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

Soňra redaktirlemek üçin esasy php-fpm.conf konfigurasiýa faýly açyň.

$ sudo vim /etc/php7/fpm/php-fpm.conf 

Aşakdaky setiri görkezilişi ýaly 24-nji setirde goýmaň.

error_log = log/php-fpm.log

Faýly ýazdyryň we ýapyň.

Ondan soň, www.conf konfigurasiýa faýlyndaky düzülen howuzlar üçin dogry sazlamalary kesgitlemeli.

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

Ilki bilen, “Unix” -iň eýesini we prosesleriň topar eýesini Nginx ulanyjysyna we toparyna düzüň. Ulanyjynyň we topar parametrleriniň bahalaryny hiç kim dan nginx üýtgedip üýtgediň.

user = nginx
group = nginx

Indi faýldaky üýtgeşmeleri ýazdyryň we çykyň.

Mundan başga-da, ýerine ýetirmek üçin ýene bir möhüm konfigurasiýa bar, ol /etc/php/cli/php.ini faýlynda PHP-FPM-ni üpjün edýär.

$ sudo vim /etc/php7/cli/php.ini

; cgi.fix_pathinfo=1 setirini gözläň we ony üýtgediň.

cgi.fix_pathinfo=0

Faýldaky üýtgeşmeleri ýazdyryň we çykyň.

Ondan soň, PHP-FPM hyzmatyny häzirlikçe başlaň, soňra ýükleme wagtynda awtomatiki başlamaga we ýagdaýyny barlamaga mümkinçilik beriň.

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

PHP-FPM bilen işlemek üçin Nginx-i sazlamak

Bu pursatda, adaty Nginx konfigurasiýa faýlynda PHP-FPM bilen işlemek üçin Nginx-i sazlamaly.

$ sudo vim /etc/nginx/nginx.conf

Soňra aşakdaky bölümi gözläň we garaşylýan indeks faýllarynyň sanawyna index.php goşuň.

location / { 
           root   /srv/www/htdocs/; 
           index  index.php index.html index.htm ; 
       }

Şeýle hem aşakdaky bölümi tapyň (düşündiriş bermeli) we ony açmaň. Bu bölüm, PHP skriptlerini 127.0.0.1:9000 diňleýän FastCGI serwerine geçirmek üçin ulanylýar.

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

Faýldaky üýtgeşmeleri ýazdyryň we çykyň.

Nginx we PHP-FPM synagy

Indiki ädim, Nginx-iň görkezilişi ýaly DocumentRoot katalogynyň aşagynda täze PHP synag faýly döretmek arkaly PHP-FPM bilen bilelikde gowy işleýändigini barlamakdyr.

$ echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php

Indi hyzmaty täzeden başlamazdan ozal Nginx konfigurasiýasynyň dogrudygyny ýa-da ýokdugyny barlamaly.

$ sudo nginx -t

Nginx konfigurasiýa sintaksisi gowy bolsa, soňky üýtgeşmeleriň güýje girmegi üçin Nginx we PHP-FPM hyzmatlaryny täzeden açyň.

$ sudo systemctl restart nginx php-fpm

Indi web brauzerini açyň we aşakdaky skrinshotda görkezilişi ýaly PHP konfigurasiýasyny barlamak üçin http://localhost/info.php adresine geçiň.

PhpMyAdmin gurmak we sazlamak

phpMyAdmin, MySQL serwerini Internetde dolandyrmak üçin gurlan, PHP-de ýazylan mugt, ýönekeý we aňsat gural. MySQL we MariaDB-de köp sanly amallary goldaýar.

PhpMyAdmin-i OpenSuse-da gurmak üçin aşakdaky buýrugy işlediň.

$ sudo zypper install phpMyAdmin

Gurmak tamamlanandan soň, görkezilişi ýaly phpMyAdmin-e girmek üçin täze vhost konfigurasiýa faýly dörediň.

$ sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf

Aşakdaky konfigurasiýany faýla goşuň.

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

Üýtgeşmeleri ýazdyryň we faýly ýapyň. Soňra aşakdaky buýruk bilen Nginx hyzmatyny täzeden açyň.

$ sudo systemctl restart nginx

Indi web brauzeriňize giriň we http:// localhost/phpMyAdmin adresini ýazyň. PhpMyAdmin giriş sahypasy aşakdaky skrinshotda görkezilişi ýaly görkezilmelidir. Maglumat bazasynyň kök ulanyjy giriş maglumatlaryny giriziň we Git düwmesine basyň.

Bu hemmesi! Bu gollanmada, OpenSuse serwerinde/iş stoly neşirlerinde Nginx, MariaDB, PHP, PHP-FPM we PhpMyAdmin bilen LEMP stakasyny nädip gurmalydygyny düşündirdik. Gurnama wagtynda haýsydyr bir mesele bilen ýüzbe-ýüz bolsaňyz, aşakdaky teswir formasy arkaly soraglaryňyzy beriň.