Fi sori ẹrọ LEMP - Nginx, PHP, MariaDB ati PhpMyAdmin ni OpenSUSE
LEMP tabi Linux, Engine-x, MySQL ati akopọ PHP jẹ lapapo sọfitiwia kan ti o ni sọfitiwia orisun orisun ti a fi sii lori ẹrọ ṣiṣe Linux fun ṣiṣe awọn ohun elo ayelujara ti o da lori PHP ti agbara nipasẹ olupin Nginx HTTP ati eto iṣakoso data MySQL/MariaDB.
Itọsọna yii yoo ṣe itọsọna fun ọ lori bawo ni a ṣe le fi akopọ LEMP sori ẹrọ pẹlu Nginx, MariaDB, PHP, PHP-FPM ati PhpMyAdmin lori olupin OpenSuse/awọn ikede tabili.
Fifi Nginx HTTP Server sii
Nginx jẹ iyara ati igbẹkẹle HTTP ati olupin aṣoju eyiti o le mu fifuye giga ti awọn ibeere HTTP. O nlo ọna iwakọ iṣẹlẹ ti asynchronous si awọn ibeere mimu, ati faaji iṣẹlẹ apọjuwọn rẹ le pese iṣẹ asọtẹlẹ diẹ sii labẹ awọn ẹru giga.
Lati fi Nginx sori OpenSuse, ṣiṣe aṣẹ atẹle.
$ sudo zypper install nginx
Lọgan ti a fi sori ẹrọ Nginx, o le bẹrẹ iṣẹ fun bayi, lẹhinna muu ṣiṣẹ lati bẹrẹ-adaṣe ni akoko bata ati ṣayẹwo ipo Nginx nipa ṣiṣe awọn ofin wọnyi.
$ sudo systemctl start nginx $ sudo systemctl enable nginx $ sudo systemctl status nginx
Ni aaye yii, olupin ayelujara Nginx yẹ ki o wa ni ṣiṣiṣẹ, o tun le ṣayẹwo ipo naa nipa lilo pipaṣẹ netstat bi o ti han.
$ sudo netstat -tlpn | grep nginx
Bayi, a nilo lati ṣe idanwo ti fifi sori Nginx ba ṣiṣẹ daradara. Ko dabi lori awọn pinpin kaakiri Linux miiran, labẹ openSUSE, Nginx ko ni iwe-aṣẹ boṣewa index.html
ni folda gbongbo wẹẹbu. A nilo lati ṣẹda index.html
faili labẹ itọsọna wẹẹbu gbongbo \"/ srv/www/htdocs \"
bi ifihan.
$ echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html
Ti o ba ti fi sori ẹrọ firewalld, o nilo lati ṣii ibudo 80 ati 443 lati gba ijabọ oju opo wẹẹbu lori ogiriina.
$ sudo firewall-cmd --permanent --add-port=80/tcp $ sudo firewall-cmd --permanent --add-port=443/tcp $ sudo firewall-cmd --reload
Nigbamii, ṣii ẹrọ lilọ kiri lori ayelujara kan ki o lọ kiri si adirẹsi http:// localhost
ki o ṣayẹwo oju-iwe Nginx naa.
Fifi Olupin aaye data MariaDB sii
MariaDB jẹ orita orisun ọfẹ ati ṣiṣi ti eto iṣakoso data ibatan ibatan MySQL. O ti dagbasoke nipasẹ awọn oludasilẹ akọkọ ti MySQL ati pinnu lati duro si orisun ṣiṣi. MariaDB yara, ti iwọn ati logan, pẹlu eto ilolupo eda ti awọn ẹrọ ibi ipamọ, awọn afikun ati ọpọlọpọ awọn irinṣẹ miiran jẹ ki o wapọ pupọ fun ọpọlọpọ awọn ọran lilo pupọ.
Lati fi MariaDB sori OpenSuse, ṣiṣe aṣẹ atẹle.
$ sudo zypper install mariadb mariadb-client
Nigbamii, bẹrẹ iṣẹ MariaDB fun bayi, lẹhinna muu ṣiṣẹ lati bẹrẹ-adaṣe ni akoko bata ati ṣayẹwo ipo rẹ.
$ sudo systemctl start mariadb $ sudo systemctl enable mariadb $ sudo systemctl status mariadb
Igbese pataki ti o tẹle labẹ abala yii ni lati ni aabo fifi sori ẹrọ olupin MariaDB. Nitorinaa ṣiṣe iwe afọwọkọ aabo eyiti o gbe pẹlu package MariaDB, bi o ti han.
Akiyesi: Ṣiṣe akọọlẹ aabo MariaDB ati gbogbo awọn ẹya rẹ ni iṣeduro ni iṣeduro fun gbogbo awọn olupin MariaDB ni iṣelọpọ.
$ sudo mysql_secure_installation
Lẹhin ṣiṣe akosile, ka apejuwe ni igbesẹ kọọkan ni pẹlẹpẹlẹ. O yẹ ki o ṣeto ọrọigbaniwọle olumulo root, yọ awọn olumulo alailorukọ kuro, mu wiwọle root kuro, yọ ibi ipamọ data idanwo ati iraye si si ati nikẹhin gbe awọn tabili awọn anfani pada.
Fifi ati tunto PHP ati PHP-FPM
PHP-FPM (kukuru fun Oluṣakoso ilana ilana PHP FastCGI) jẹ yiyan daemon FastCGI fun PHP pẹlu diẹ ninu awọn ẹya afikun ati apẹrẹ lati mu awọn ẹru giga. O ṣetọju awọn adagun-odo (awọn oṣiṣẹ ti o le dahun si awọn ibeere PHP) lati ṣe eyi. Ni pataki, o yara ju awọn ọna ipilẹ CGI ti aṣa, bii SUPHP, fun awọn agbegbe PHP olumulo pupọ.
Lati fi PHP ati PHP-FPM sori ẹrọ pẹlu awọn modulu ti o nilo ṣiṣe aṣẹ atẹle.
$ sudo zypper install php php-mysql php-fpm php-gd php-mbstring
Ṣaaju ki a to tẹsiwaju lati bẹrẹ iṣẹ PHP-FPM, a nilo lati ṣẹda awọn faili iṣeto ti o nilo lati awọn faili aiyipada ti a pese lakoko fifi sori ẹrọ, ati tunto iṣẹ ti o ṣetan fun awọn iṣẹ.
$ 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
Lẹhinna ṣii akọkọ php-fpm.conf
faili iṣeto fun ṣiṣatunkọ.
$ sudo vim /etc/php7/fpm/php-fpm.conf
Uncomment laini atẹle ni nọmba laini 24 bi o ti han.
error_log = log/php-fpm.log
Fipamọ ki o pa faili naa.
Nigbamii ti, a nilo lati ṣalaye awọn eto to tọ fun awọn adagun atunto ni www.conf
faili iṣeto.
$ sudo vim /etc/php7/fpm/php-fpm.d/www.conf
Ni akọkọ, tunto oluwa Unix ati oluwa ẹgbẹ ti awọn ilana si olumulo Nginx ati ẹgbẹ. Ṣe eyi nipa yiyipada awọn iye ti olumulo ati awọn ipilẹ ẹgbẹ lati ko si ẹnikan si
nginx
.
user = nginx group = nginx
Bayi fi awọn ayipada pamọ si faili ki o jade kuro.
Ni afikun, iṣeto pataki diẹ sii wa lati ṣe, eyiti o ni aabo PHP-FPM ninu /etc/php/cli/php.ini
faili.
$ sudo vim /etc/php7/cli/php.ini
Wa laini ; cgi.fix_pathinfo = 1
ki o yipada si.
cgi.fix_pathinfo=0
Fipamọ awọn ayipada ninu faili ki o jade.
Nigbamii, bẹrẹ iṣẹ PHP-FPM fun bayi, lẹhinna muu ṣiṣẹ lati bẹrẹ-adaṣe ni akoko bata ati ṣayẹwo ipo rẹ.
$ sudo systemctl start php-fpm $ sudo systemctl enable php-fpm $ sudo systemctl status php-fpm
Tito leto Nginx lati Ṣiṣẹ pẹlu PHP-FPM
Ni aaye yii, a nilo lati tunto Nginx lati ṣiṣẹ pẹlu PHP-FPM ninu faili iṣeto Nginx aiyipada.
$ sudo vim /etc/nginx/nginx.conf
Lẹhinna wa fun apakan atẹle, ki o ṣafikun index.php
ninu atokọ ti awọn faili itọka ti a reti.
location / { root /srv/www/htdocs/; index index.php index.html index.htm ; }
Tun wa apakan atẹle (eyiti o yẹ ki o ṣalaye jade) ati ṣoki rẹ. A lo apakan yii lati kọja awọn iwe afọwọkọ PHP si olupin olupin FastCGI ti n tẹtisi lori 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; }
Fipamọ awọn ayipada ninu faili ki o jade.
Idanwo Nginx ati PHP-FPM
Igbese ti n tẹle ni lati ṣe idanwo ti Nginx n ṣiṣẹ daradara ni apapo pẹlu PHP-FPM nipa ṣiṣẹda faili idanwo PHP tuntun labẹ ilana DocumentRoot bi o ti han.
$ echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php
Bayi a nilo lati ṣayẹwo ti iṣeto Nginx ba tọ bi atẹle, ṣaaju ki a to tẹsiwaju lati tun bẹrẹ iṣẹ naa.
$ sudo nginx -t
Ti ilana iṣeto Nginx ba dara, lọ siwaju ki o tun bẹrẹ iṣẹ Nginx ati PHP-FPM fun awọn ayipada to ṣẹṣẹ lati mu ipa.
$ sudo systemctl restart nginx php-fpm
Bayi ṣii ẹrọ lilọ kiri lori ayelujara kan ki o lọ kiri si adirẹsi http://localhost/info.php
lati jẹrisi iṣeto PHP bi o ṣe han ninu sikirinifoto atẹle.
Fifi sori ẹrọ ati tito leto PhpMyAdmin
phpMyAdmin jẹ ọfẹ, rọrun-si-lilo ati ohun elo olokiki ti a kọ sinu PHP, ti a ṣe fun sisakoso olupin MySQL lori Wẹẹbu naa. O ṣe atilẹyin ọpọlọpọ awọn iṣẹ lori MySQL ati MariaDB.
Lati fi phpMyAdmin sori ẹrọ lori OpenSuse, ṣiṣe aṣẹ atẹle.
$ sudo zypper install phpMyAdmin
Lọgan ti fifi sori ẹrọ ba ti pari, ṣẹda faili atunto vhost tuntun fun iraye si phpMyAdmin bi o ti han.
$ sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf
Ṣafikun iṣeto atẹle atẹle si faili.
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; } }
Fipamọ awọn ayipada ki o pa faili naa. Lẹhinna tun bẹrẹ iṣẹ Nginx pẹlu aṣẹ atẹle.
$ sudo systemctl restart nginx
Bayi lọ si aṣawakiri wẹẹbu rẹ ki o tẹ adirẹsi http:// localhost/phpMyAdmin. Oju-iwe iwọle iwọle phpMyAdmin yẹ ki o han bi o ṣe han ninu sikirinifoto atẹle. Tẹ awọn ẹrí wiwọle awọn olumulo wiwọle data rẹ ki o tẹ Lọ.
Gbogbo ẹ niyẹn! Ninu ẹkọ yii, a ti ṣalaye fun ọ bi o ṣe fi akopọ LEMP sii pẹlu Nginx, MariaDB, PHP, PHP-FPM ati PhpMyAdmin lori awọn ikede OpenSuse olupin/tabili. Ti o ba nkọju si eyikeyi awọn oran lakoko iṣeto, ṣe beere awọn ibeere rẹ nipasẹ fọọmu asọye ni isalẹ.