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ň.