Asenna LEMP - Nginx, PHP, MariaDB ja PhpMyAdmin OpenSUSEen
LEMP tai Linux, Engine-x, MySQL ja PHP pino on ohjelmisto paketti, joka koostuu Linux-käyttöjärjestelmään asennetuista avoimen lähdekoodin ohjelmistoista PHP-pohjaisten verkkosovellusten suorittamiseen, jotka toimivat Nginx HTTP -palvelimella ja MySQL/MariaDB-tietokannan hallintajärjestelmällä.
Lue myös: Asenna LAMP – Apache, PHP, MariaDB ja PhpMyAdmin OpenSUSEen
Tämä opetusohjelma opastaa sinua asentamaan LEMP-pinon, jossa on Nginx, MariaDB, PHP, PHP-FPM ja PhpMyAdmin OpenSuse-palvelin- tai työpöytäversioissa.
Nginx HTTP Serverin asentaminen
Nginx on nopea ja luotettava HTTP- ja välityspalvelin, joka pystyy käsittelemään suurempia HTTP-pyyntöjä. Se käyttää asynkronista tapahtumalähtöistä lähestymistapaa pyyntöjen käsittelyyn, ja sen modulaarinen tapahtumaohjattu arkkitehtuuri voi tarjota ennustettavamman suorituskyvyn suurissa kuormissa.
Asenna Nginx OpenSusele suorittamalla seuraava komento.
sudo zypper install nginx
Kun Nginx on asennettu, voit käynnistää palvelun toistaiseksi, ottaa sen käyttöön automaattisesti käynnistyksen yhteydessä ja tarkistaa Nginxin tilan suorittamalla seuraavat komennot.
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx
Lue myös: 10 eniten käytettyä Nginx-komentoa jokaisen Linux-käyttäjän on tiedettävä
Tässä vaiheessa Nginx-verkkopalvelimen pitäisi olla käynnissä, voit myös tarkistaa tilan netstat-komennolla kuvan mukaisesti.
sudo netstat -tlpn | grep nginx
Nyt meidän on testattava, toimiiko Nginx-asennus hyvin. Toisin kuin muissa Linux-jakeluissa, openSUSEssa Nginxillä ei ole tavallista index.html
-asiakirjaa verkkojuurikansiossa. Meidän on luotava uusi index.html
-tiedosto verkkojuurihakemistoon "/srv/www/htdocs"
kuten kuvassa.
echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html
Jos sinulla on palomuuri asennettuna, sinun on avattava portit 80 ja 443, jotta verkkoliikenne sallitaan palomuurissa.
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload
Avaa seuraavaksi verkkoselain ja siirry osoitteeseen http://localhost
ja vahvista Nginx-sivu.
MariaDB-tietokantapalvelimen asentaminen
MariaDB on MySQL-relaatiotietokannan hallintajärjestelmän ilmainen avoimen lähdekoodin haarukka. Sen ovat kehittäneet alkuperäiset MySQL:n kehittäjät ja sen on tarkoitus pysyä avoimena lähdekoodina. MariaDB on nopea, skaalautuva ja vankka, ja sen runsas tallennusmoottoreiden, laajennusten ja monien muiden työkalujen ekosysteemi tekee siitä erittäin monipuolisen monenlaisiin käyttötarkoituksiin.
Asenna MariaDB OpenSusele suorittamalla seuraava komento.
sudo zypper install mariadb mariadb-client
Käynnistä seuraavaksi MariaDB-palvelu toistaiseksi, ota se käyttöön automaattisesti käynnistyksen yhteydessä ja tarkista sen tila.
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl status mariadb
Seuraava kriittinen vaihe tässä osiossa on MariaDB-palvelimen asennuksen turvaaminen. Suorita siksi suojausskripti, joka toimitetaan MariaDB-paketin mukana, kuten kuvassa.
Huomaa: MariaDB-suojausohjelman ja sen kaikkien osien suorittamista suositellaan kaikille tuotannossa oleville MariaDB-palvelimille.
sudo mysql_secure_installation
Kun olet suorittanut skriptin, lue kunkin vaiheen kuvaus huolellisesti. Sinun tulee asettaa pääkäyttäjän salasana, poistaa anonyymit käyttäjät, poistaa etäpääkäyttäjän käyttöoikeudet, poistaa testitietokanta ja pääsy siihen ja lopuksi ladata käyttöoikeustaulukko uudelleen.
PHP:n ja PHP-FPM:n asennus ja konfigurointi
PHP-FPM (lyhenne sanoista PHP FastCGI Process Manager) on vaihtoehtoinen FastCGI-daemon PHP:lle, jossa on joitain lisäominaisuuksia. ja suunniteltu kestämään suuria kuormia. Se ylläpitää pooleja (työntekijöitä, jotka voivat vastata PHP-pyyntöihin) tämän saavuttamiseksi. Tärkeää on, että se on nopeampi kuin perinteiset CGI-pohjaiset menetelmät, kuten SUPHP, usean käyttäjän PHP-ympäristöissä.
Asenna PHP ja PHP-FPM sekä tarvittavat moduulit suorittamalla seuraava komento.
sudo zypper install php php-mysql php-fpm php-gd php-mbstring
Ennen kuin jatkamme PHP-FPM-palvelun käynnistämistä, meidän on luotava tarvittavat määritystiedostot asennuksen aikana toimitetuista oletustiedostoista ja määritettävä palvelu valmiiksi toimintaan.
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
Avaa sitten tärkein php-fpm.conf
-määritystiedosto muokkausta varten.
sudo vim /etc/php7/fpm/php-fpm.conf
Poista seuraavan rivin kommentit riviltä 24 kuvan mukaisesti.
error_log = log/php-fpm.log
Tallenna ja sulje tiedosto.
Seuraavaksi meidän on määritettävä oikeat asetukset määritettyjä pooleja varten www.conf
-määritystiedostossa.
sudo vim /etc/php7/fpm/php-fpm.d/www.conf
Määritä ensin prosessien Unix-omistaja ja ryhmäomistaja Nginx-käyttäjälle ja -ryhmälle. Tee tämä muuttamalla käyttäjän ja ryhmän parametrien arvot arvosta nobody
arvoon nginx
.
user = nginx
group = nginx
Tallenna nyt tiedoston muutokset ja poistu siitä.
Lisäksi on suoritettava yksi tärkeä määritys, joka suojaa PHP-FPM:n /etc/php/cli/php.ini
-tiedostossa.
sudo vim /etc/php7/cli/php.ini
Etsi rivi ;cgi.fix_pathinfo=1
ja muuta se muotoon.
cgi.fix_pathinfo=0
Tallenna muutokset tiedostoon ja poistu.
Käynnistä seuraavaksi PHP-FPM-palvelu toistaiseksi, ota sitten käyttöön sen automaattinen käynnistys käynnistyksen yhteydessä ja tarkista sen tila.
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl status php-fpm
Nginxin määrittäminen toimimaan PHP-FPM:n kanssa
Tässä vaiheessa meidän on määritettävä Nginx toimimaan PHP-FPM:n kanssa Nginx-oletusasetustiedostossa.
sudo vim /etc/nginx/nginx.conf
Etsi sitten seuraava osio ja lisää index.php
odotettujen hakemistotiedostojen luetteloon.
location / {
root /srv/www/htdocs/;
index index.php index.html index.htm ;
}
Etsi myös seuraava osio (joka tulisi kommentoida) ja poista sen kommentti. Tätä osiota käytetään PHP-skriptien välittämiseen FastCGI-palvelimelle, joka kuuntelee 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;
}
Tallenna muutokset tiedostoon ja poistu.
Nginxin ja PHP-FPM:n testaus
Seuraava vaihe on testata, toimiiko Nginx hyvin yhdessä PHP-FPM:n kanssa luomalla uusi PHP-testitiedosto DocumentRoot-hakemistoon esitetty.
echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php
Nyt meidän on tarkistettava, onko Nginx-kokoonpano oikea seuraavasti, ennen kuin jatkamme palvelun käynnistämistä uudelleen.
sudo nginx -t
Jos Nginx-määrityssyntaksi on kunnossa, käynnistä Nginx- ja PHP-FPM-palvelut uudelleen, jotta viimeaikaiset muutokset tulevat voimaan.
sudo systemctl restart nginx php-fpm
Avaa nyt verkkoselain ja siirry osoitteeseen http://localhost/info.php
ja tarkista PHP-asetukset seuraavan kuvakaappauksen mukaisesti.
PhpMyAdminin asentaminen ja määrittäminen
phpMyAdmin on ilmainen, yksinkertainen, helppokäyttöinen ja suosittu PHP-kielellä kirjoitettu työkalu, joka on suunniteltu MySQL-palvelimen hallintaan verkossa. Se tarjoaa laajan valikoiman toimintoja MySQL:llä ja MariaDB:llä.
Asenna phpMyAdmin OpenSusele suorittamalla seuraava komento.
sudo zypper install phpMyAdmin
Kun asennus on valmis, luo uusi vhost-määritystiedosto phpMyAdminin käyttöä varten kuvan osoittamalla tavalla.
sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf
Lisää nämä seuraavat asetukset tiedostoon.
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;
}
}
Tallenna muutokset ja sulje tiedosto. Käynnistä sitten Nginx-palvelu uudelleen seuraavalla komennolla.
sudo systemctl restart nginx
Siirry nyt verkkoselaimeen ja kirjoita osoite http://localhost/phpMyAdmin. phpMyAdmin-kirjautumissivun pitäisi näkyä seuraavan kuvakaappauksen mukaisesti. Anna tietokannan pääkäyttäjän kirjautumistiedot ja napsauta Siirry.
Siinä kaikki! Tässä opetusohjelmassa olemme selittäneet, kuinka LEMP-pino asennetaan Nginx-, MariaDB-, PHP-, PHP-FPM ja PhpMyAdmin OpenSuse-palvelin- tai työpöytäversioissa. Jos kohtaat ongelmia asennuksen aikana, esitä kysymyksesi alla olevan kommenttilomakkeen kautta.