Kuinka asentaa LEMP (Linux, Nginx, MariaDB, PHP-FPM) Debian 9 Stretchissä


Koska Debianilla on suuri osa verkkopalvelimista kaikkialla maailmassa, tässä artikkelissa selitämme, kuinka LEMP (Linux + Nginx) asennetaan. + MariaDB + PHP-FPM) pino Debian 9 Stretchissä vaihtoehtona LAMP:lle (käytä tätä opasta asenna LAMP Debian 9:ään).

Lisäksi näytämme, kuinka Nginx/PHP-FPM-määritykset tehdään mahdollisimman vähän, jotta jopa uudet järjestelmänvalvojat voivat perustaa upouusia verkkopalvelimia dynaamisten sivujen luomiseksi.

Tätä varten hyödynnämme viimeisimmät päivitykset jakelun virallisiin tietovarastoihin. Oletuksena on, että olet asentanut Debian 9:n paljaalle metallille, virtuaalikoneelle tai VPS:lle tai olet päivittänyt Jessieltä.

LEMP:n asentaminen Debian 9 Stretchissä

Saatat ihmetellä, miksi mainittiin PHP-FPM PHP sijaan osana LEMP-pinoa. Toisin kuin muut verkkopalvelimet, Nginx ei tarjoa alkuperäistä tukea PHP:lle.

Tästä syystä PHP-sivupyyntöjen käsittelyyn käytetään PHP-FPM -ohjelmaa (Fast Process Manager). Voit oppia lisää PHP-FPM:stä PHP:n virallisella sivustolla.

Debian-varastojen oletusversio php7.0-fpm. Kuten luultavasti voit arvata paketin nimen perusteella, tämä versio pystyy käsittelemään jopa PHP 7 -koodia sisältäviä sivupyyntöjä.

HUOMAA: jos Apache on asennettu samaan laatikkoon aiemmin, varmista, että se on pysäytetty ja poistettu käytöstä ennen kuin jatkat.

Asennamme tämän jälkeen LEMP-pinon komponentit seuraavasti:

aptitude update 
aptitude install nginx mariadb-server mariadb-client php-mysqli php7.0-fpm

Kun asennus on valmis, varmistetaan ensin, että Nginx ja PHP-FPM ovat käynnissä ja että ne on otettu käyttöön käynnistyksen yhteydessä:

systemctl status nginx php7.0-fpm

Jos osoittaa, että toinen tai molemmat palvelut eivät ole käynnissä, tee.

systemctl start nginx php7.0-fpm
systemctl enable nginx php7.0-fpm

Kuten jokaisen MariaDB- tai MySQL-asennuksen yhteydessä, on tärkeää suorittaa mysql_secure_installation minimaalisen suojauksen määrittämiseksi ja salasanan määrittämiseksi. tietokannan juuritili.

mysql_secure_installation

Jos et tiedä, miten tämä tehdään, voit katsoa vaiheen 4 artikkelissa MariaDB 10:n asentaminen Debianiin ja Ubuntuun.

Nginxin määrittäminen käyttämään PHP-FPM:ää Debian 9:ssä

Nginxin päämääritystiedosto on /etc/nginx/sites-available/default, johon meidän on tehtävä seuraavat muutokset palvelinlohkon sisällä:

  • Varmista, että PHP-pyyntöjä käsittelevä location-lohko on käytössä, lukuun ottamatta sitä, jossa fastcgi_pass-direktiivi osoittaa takaisinsilmukkaverkkokorttiin.
  • Lisää index.php index-käskyn jälkeen osoittaaksesi, että jos se löytyy, se tulee näyttää oletuksena ennen index.html- tai muita tiedostoja.
  • Lisää palvelimesi IP-osoitteeseen tai isäntänimeen osoittava direktiivi server_name. Tämä on meidän tapauksessamme 192.168.0.35.
  • Varmista lisäksi, että root-käsky osoittaa sijaintiin, johon .php-tiedostosi tallennetaan (oletuksena /var/www/html) .

Kun olet valmis, voit käyttää seuraavaa komentoa testataksesi määritystiedoston virheiden varalta.

nginx -t 

Tässä vaiheessa /etc/nginx/sites-available/default-tiedoston pitäisi näyttää seuraavalta, jossa numerot viittaavat kokoonpanoon, ja ne edustavat yllä olevaa luetteloa:

grep -Ev '#' /etc/nginx/sites-available/default

Nginxin ja PHP-FPM:n testaus Debian 9:ssä

Varmistaaksemme, että käytämme nyt Nginxiä verkkopalvelimenamme, luodaan /var/www/html -hakemistoon tiedosto nimeltä info.php. seuraava sisältö:

<?php
	phpinfo();
?>

Siirry sitten osoitteeseen http://192.168.0.35/info.php ja tarkista sivun yläreunasta, jossa sinun pitäisi nähdä tämä:

Osoitetaan lopuksi selaimemme booksandauthors.php-tiedostoon, jonka loimme Install LAMP (Linux, Apache, MariaDB tai MySQL ja PHP) Stackissa Debian 9:ssä.

Kuten seuraavasta kuvasta näet, tätä tiedostoa palvelee nyt Nginx:

HUOMAA: Jos huomaat, että Nginx näyttää .php-tiedostoja latauksina niiden suorittamisen sijaan, tyhjennä selaimen välimuisti tai kokeile toista selainta . Erityisesti jos käytät Chromea, kannattaa kokeilla incognito-tilassa.

Yhteenveto

Tässä artikkelissa olemme selittäneet, kuinka Nginx asennetaan ja määritetään palvelemaan dynaamisia .php-sivuja. On tärkeää huomata, että tämän alkuasennuksen jälkeen on asetuksia, jotka tulee ottaa huomioon verkkopalvelimen suojaamiseksi.

Saatat löytää perustiivistelmän kohdasta Ultimate Guide to Secure, Harden and Improve Performance of Nginx Web Server.

Jos etsit virtuaalista isännöintiä Nginxissä, lue Nimi- ja IP-pohjaisten virtuaalipalvelinten määrittäminen NGINX:ssä.

Kuten aina, älä epäröi kertoa meille, jos sinulla on kysyttävää tai kommentteja tästä artikkelista.