Įdiekite LEMP - Nginx, PHP, MariaDB ir PhpMyAdmin OpenSUSE
Stack LEMP arba Linux, Engine-x, MySQL ir PHP yra programinė įranga paketas, kurį sudaro atvirojo kodo programinė įranga, įdiegta „Linux“ operacinėje sistemoje, skirta paleisti PHP pagrįstas žiniatinklio programas, kurias maitina Nginx HTTP serveris ir MySQL/MariaDB duomenų bazių valdymo sistema.
Taip pat skaitykite: įdiekite LAMP – Apache, PHP, MariaDB ir PhpMyAdmin sistemoje OpenSUSE
Šioje pamokoje sužinosite, kaip įdiegti LEMP rinkinį su Nginx, MariaDB, PHP, PHP-FPM ir PhpMyAdmin OpenSuse serverio/darbalaukio leidimuose.
Nginx HTTP serverio diegimas
Nginx yra greitas ir patikimas HTTP ir tarpinis serveris, galintis apdoroti didesnę HTTP užklausų apkrovą. Jis naudoja asinchroninį įvykiais pagrįstą metodą užklausoms tvarkyti, o modulinė įvykiais pagrįsta architektūra gali užtikrinti labiau nuspėjamą veikimą esant didelėms apkrovoms.
Norėdami įdiegti Nginx OpenSuse, paleiskite šią komandą.
sudo zypper install nginx
Įdiegę Nginx galite paleisti paslaugą, tada įgalinti jos automatinį paleidimą įkrovos metu ir patikrinti Nginx būseną vykdydami šias komandas.
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx
Taip pat skaitykite: 10 dažniausiai naudojamų „Nginx“ komandų, kurias turi žinoti kiekvienas „Linux“ vartotojas
Šiuo metu „Nginx“ žiniatinklio serveris turėtų būti sukurtas ir veikia, taip pat galite patikrinti būseną naudodami komandą „netstat“, kaip parodyta.
sudo netstat -tlpn | grep nginx
Dabar turime patikrinti, ar Nginx diegimas veikia gerai. Skirtingai nuo kitų Linux platinimų, openSUSE, Nginx žiniatinklio šakniniame aplanke neturi standartinio index.html
dokumento. Turime sukurti naują index.html
failą šakniniame žiniatinklio kataloge "/srv/www/htdocs"
, kaip parodyta.
echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html
Jei esate įdiegę ugniasienę, turite atidaryti prievadus 80 ir 443, kad užkardoje būtų leidžiamas žiniatinklio srautas.
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload
Tada atidarykite žiniatinklio naršyklę ir eikite į adresą http://localhost
ir patvirtinkite „Nginx“ puslapį.
MariaDB duomenų bazės serverio diegimas
MariaDB yra nemokama atvirojo kodo MySQL reliacinės duomenų bazės valdymo sistemos šakutė. Jį sukūrė pirminiai MySQL kūrėjai ir ketinama likti atviro kodo. MariaDB yra greita, keičiamo dydžio ir tvirta, turinti turtingą saugojimo variklių, papildinių ir daugelio kitų įrankių ekosistemą, todėl ji yra labai universali įvairiems naudojimo atvejams.
Norėdami įdiegti MariaDB OpenSuse, paleiskite šią komandą.
sudo zypper install mariadb mariadb-client
Tada paleiskite „MariaDB“ paslaugą dabar, tada įgalinkite ją automatiškai paleisti įkrovos metu ir patikrinkite jos būseną.
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl status mariadb
Kitas svarbus žingsnis šiame skyriuje yra MariaDB serverio diegimo apsauga. Todėl paleiskite saugos scenarijų, kuris pristatomas kartu su MariaDB paketu, kaip parodyta.
Pastaba: paleisti MariaDB saugos scenarijų ir visas jo dalis labai rekomenduojama visuose gamybiniuose MariaDB serveriuose.
sudo mysql_secure_installation
Paleidę scenarijų, atidžiai perskaitykite kiekvieno veiksmo aprašymą. Turėtumėte nustatyti root vartotojo slaptažodį, pašalinti anoniminius vartotojus, išjungti nuotolinę root prieigą, pašalinti bandomąją duomenų bazę ir prieigą prie jos ir galiausiai iš naujo įkelti privilegijų lentelę.
PHP ir PHP-FPM diegimas ir konfigūravimas
PHP-FPM (sutrumpintas iš PHP FastCGI Process Manager) yra alternatyvus FastCGI demonas, skirtas PHP su kai kuriomis papildomomis funkcijomis ir skirtas atlaikyti dideles apkrovas. Tam tikslui ji palaiko telkinius (darbuotojus, kurie gali atsakyti į PHP užklausas). Svarbu tai, kad jis yra greitesnis nei tradiciniai CGI pagrįsti metodai, pvz., SUPHP, skirta kelių vartotojų PHP aplinkoms.
Norėdami įdiegti PHP ir PHP-FPM kartu su reikiamais moduliais, paleiskite šią komandą.
sudo zypper install php php-mysql php-fpm php-gd php-mbstring
Prieš pradėdami naudotis PHP-FPM paslauga, turime sukurti reikiamus konfigūracijos failus iš numatytųjų failų, pateiktų diegimo metu, ir sukonfigūruoti paslaugą, paruoštą darbui.
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
Tada atidarykite pagrindinį php-fpm.conf
konfigūracijos failą redaguoti.
sudo vim /etc/php7/fpm/php-fpm.conf
Panaikinkite šios eilutės komentarą prie 24 eilutės, kaip parodyta.
error_log = log/php-fpm.log
Išsaugokite ir uždarykite failą.
Toliau turime apibrėžti teisingus sukonfigūruotų telkinių nustatymus www.conf
konfigūracijos faile.
sudo vim /etc/php7/fpm/php-fpm.d/www.conf
Pirmiausia sukonfigūruokite „Unix“ savininką ir procesų grupės savininką „Nginx“ vartotojui ir grupei. Atlikite tai pakeisdami vartotojo ir grupės parametrų reikšmes iš nobody
į nginx
.
user = nginx
group = nginx
Dabar išsaugokite failo pakeitimus ir išeikite iš jo.
Be to, reikia atlikti dar vieną svarbią konfigūraciją, kuri apsaugo PHP-FPM faile /etc/php/cli/php.ini
.
sudo vim /etc/php7/cli/php.ini
Ieškokite eilutės ;cgi.fix_pathinfo=1
ir pakeiskite ją į.
cgi.fix_pathinfo=0
Išsaugokite pakeitimus faile ir išeikite.
Tada kol kas paleiskite PHP-FPM paslaugą, tada įgalinkite ją automatiškai paleisti įkrovos metu ir patikrinkite jos būseną.
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl status php-fpm
„Nginx“ konfigūravimas darbui su PHP-FPM
Šiuo metu turime sukonfigūruoti Nginx, kad jis veiktų su PHP-FPM numatytame Nginx konfigūracijos faile.
sudo vim /etc/nginx/nginx.conf
Tada suraskite kitą skyrių ir įtraukite index.php
į numatomų indekso failų sąrašą.
location / {
root /srv/www/htdocs/;
index index.php index.html index.htm ;
}
Taip pat suraskite kitą skyrių (kuris turėtų būti pakomentuotas) ir panaikinkite jo komentarą. Ši skiltis naudojama PHP scenarijus perduoti FastCGI serveriui, kuris klausosi 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;
}
Išsaugokite pakeitimus faile ir išeikite.
Nginx ir PHP-FPM testavimas
Kitas veiksmas – patikrinti, ar Nginx gerai veikia kartu su PHP-FPM, sukuriant naują PHP bandomąjį failą DocumentRoot kataloge kaip parodyta.
echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php
Dabar turime patikrinti, ar „Nginx“ konfigūracija yra teisinga, kaip nurodyta toliau, prieš pradėdami iš naujo paleisti paslaugą.
sudo nginx -t
Jei „Nginx“ konfigūracijos sintaksė tinkama, iš naujo paleiskite Nginx ir PHP-FPM paslaugas, kad įsigaliotų naujausi pakeitimai.
sudo systemctl restart nginx php-fpm
Dabar atidarykite žiniatinklio naršyklę ir eikite į adresą http://localhost/info.php
, kad patikrintumėte PHP konfigūraciją, kaip parodyta toliau pateiktoje ekrano kopijoje.
„PhpMyAdmin“ diegimas ir konfigūravimas
phpMyAdmin yra nemokamas, paprastas, lengvai naudojamas ir populiarus įrankis, parašytas PHP, sukurtas MySQL serveriui administruoti žiniatinklyje. Jis teikia daugybę operacijų MySQL ir MariaDB.
Norėdami įdiegti phpMyAdmin OpenSuse, paleiskite šią komandą.
sudo zypper install phpMyAdmin
Baigę diegti, sukurkite naują vhost konfigūracijos failą, kad galėtumėte pasiekti phpMyAdmin, kaip parodyta.
sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf
Pridėkite šią konfigūraciją prie failo.
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;
}
}
Išsaugokite pakeitimus ir uždarykite failą. Tada iš naujo paleiskite Nginx paslaugą naudodami šią komandą.
sudo systemctl restart nginx
Dabar eikite į savo žiniatinklio naršyklę ir įveskite adresą http://localhost/phpMyAdmin. Turi būti rodomas phpMyAdmin prisijungimo puslapis, kaip parodyta toliau esančioje ekrano kopijoje. Įveskite savo duomenų bazės šakninio vartotojo prisijungimo duomenis ir spustelėkite Eiti.
Tai viskas! Šioje mokymo programoje paaiškinome, kaip įdiegti LEMP krūvą su Nginx, MariaDB, PHP, PHP-FPM ir PhpMyAdmin OpenSuse serverio/darbalaukio leidimuose. Jei sąrankos metu susiduriate su problemomis, užduokite klausimus naudodami toliau pateiktą komentarų formą.