Seadistage Debian 8-s NGINX, PHP-FPM ja MariaDB

See juhend näitab teile, kuidas õigesti installida ja konfigureerida "alternatiivset" LAMP-pakki Debian 8-s, kasutades NGINX-i, PHP Fast Process Manageri ja MariaDB-d.

NGINX

NGINX on "kõigepealt pöördpuhverserver, teiseks veebiserver". See on Apache'i populaarne ja kasvav alternatiiv, mis pakub paljudel juhtudel suuremat paindlikkust ja paremat jõudlust. Selles õpetuses kasutame seda oma veebiserverina.

Käivitage oma lemmik SSH-klient ja logige oma serverisse sisse. Windowsi kasutajatele on "PuTTY" tasuta ja kerge SSH-klient. Linuxi ja Maci kasutajad saavad kasutada oma operatsioonisüsteemiga vaikimisi kaasas olevat terminali. Selle õpetuse jaoks eeldame, et olete oma serverisse sisse logitud juurkasutajana.

Alustuseks veendume, et kõik on ajakohane. Värskenduste kontrollimiseks ja seejärel installimiseks tippige järgmine tekst.

apt-get update && apt-get upgrade

Redigeerime oma konfiguratsioonifaile vimis. Vim pole vaikimisi installitud, nii et installime selle!

apt-get install vim

Nüüd on aeg installida NGINX. Soovime installida NGINX-i uusima versiooni ametlikust NGINX Debiani hoidlast.

wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
echo 'deb http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
echo 'deb-src http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
apt-get update && apt-get install nginx

Nüüd peame NGINX-i konfiguratsiooni veidi muutma. Liikuge konfiguratsioonikataloogi.

cd /etc/nginx

Kiire vimi õppetund

Kasutage tekstidokumendis navigeerimiseks nooleklahve. Redigeerimise alustamiseks vajutage klaviatuuril nuppu "Sisesta". Kui teie klaviatuuril pole sisestamisnuppu, vajutage klahvi "i". Vimi allosas märkate, et see ütleb nüüd "INSERT". Sisestamisrežiim võimaldab teil kustutada tagasilükkeklahviga või sisestada uusi märke neid tippides.

Avame oma nginx.confja torkame ringi:

vi nginx.conf

Muudame vaikekasutajat, kontrollime tööliste protsesside arvu ja lülitame juurdepääsulogi välja.

Direktiiv "user" ja "worker_processes" on ülaosas. Proovige allolevaid väärtusi:

Note that you'll want to set "worker_processes" to the number of CPU cores available on your server. In this example, we have 1, which is the NGINX default.

user www-data;
worker_processes 1;

Soovime ka juurdepääsulogi keelata, et parandada I/O jõudlust. Liikuge nooleklahvidega allapoole, kuni leiate "access_log". Muutke seda järgmiseks:

access_log off;

Ja lõpuks, me seame "kliendi_max_keha_suurus" vastavaks mõnele PHP-s hiljem tehtud muudatusele. Hoiame vaeva ja teeme seda kohe. Lisage "access_log" alla:

client_max_body_size 12m;

Kui olete redigeerimise lõpetanud, vajutage klaviatuuril "Esc". Vim ei ütle enam faili alaossa "INSERT".

Muudatuste salvestamiseks ja vimi sulgemiseks vajutage järgmist klahvijada:

SHIFT :(colon)
wq
Press "Enter"

Ülaltoodud vim kung fu kirjutab teie muudatused kettale ja väljub vimist, suunates teid tagasi bash-shelli.

Nüüd peame oma näite jaoks tegema saidipõhise konfiguratsiooni! Kustutame ka muud näidiskonfiguratsioonid. Proovige järgmist.

cd conf.d
rm example_ssl.conf default.conf
vi my_site.conf

Teeme lühikese ja lihtsa www.confkujunduse, mis põhineb lõdvalt NGINX-i vaikekonfiguratsioonil, kuid mõningate näpunäidetega. Vajutage sisestust ja saate kopeerida/kleepida alloleva näite.

Don't forget to edit the "root" directive to point to the root directory of your website, and "server_name" to correspond to your domain.

server {
    listen 80;

    root /path/to/your/website;
    index index.php index.html index.htm;

    server_name mydomainname.com www.mydomainname.com;

    location / {
            try_files $uri $uri/ /index.php;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
}

Nüüd oleme selle õpetuse NGINX-i konfiguratsiooniosaga lõpetanud. Taaskäivitame NGINX-i mõne aja pärast, kohe pärast PHP installimist.

PHP-FPM

PHP-FPM on PHP kiire protsessihaldur. See on vajalik NGINX-i kasutamisel, sest erinevalt Apachest ei käita NGINX PHP-d moodulina. Seda tehti NGINX-i mälumahu vähendamiseks. Kas mäletate seda osa sellest, et NGINX on ennekõike vastupidine puhverserver? Siin tuleb see mängu; NGINX-ile saadetud PHP-päringud suunatakse PHP-FPM-ile, et teha raskeid tõstmisi.

Installime PHP-FPM.

apt-get install php5-fpm php5-mysqlnd

Note that depending on what your PHP scripts require, you may have to install other PHP modules not included by default. Popular ones are php5-gd and php5-mcrypt. You can install these with the following command.

apt-get install php5-module_name_here

Nüüd, kui oleme installinud PHP-FPM, tahame turvalisuse ja funktsionaalsuse parandamiseks teha mõned kiired muudatused.

cd /etc/php5/fpm
vi php.ini

Aeg järjekordseks kiireks vimi õppetunniks! php.iniFail on täiesti suur. Mõne põhiväärtuse otsimine võtab aega terve päeva. Kuna me teame, mida otsime, siis otsime. Sisestage järgmine:

/upload_max_filesize

Vaikimisi on see 2 megabaiti. Kui soovite lubada kasutajatel teie PHP-rakendustesse üles laadida faile, mis on suuremad kui 2 megabaiti, peate seda muutma. 10M on praegu ilmselt turvaline panus, kuid aktsepteeritavad on ka suuremad väärtused. See säte on konfiguratsioonide lõikes erinev. Õpetuse huvides:

upload_max_filesize = 10M

Veel üks silmatorkav turvaviga. Kerige veidi alla või otsige. Peame määrama "allow_url_fopen" asendisse "Väljas". See takistab PHP-l KAUGELT hostitud PHP-failide, mida muidu tuntakse ka RFI-na (Remote File Inclusion), käivitamast. Paljud serverid on sel viisil häkitud.

allow_url_fopen = Off

Ja kuna muutsime väärtust "upload_max_filesize", peame nüüd muutma "post_max_size". See väärtus peaks olema veidi suurem kui "upload_max_filesize", kuna peame arvestama PHP poolt töödeldud päringutega seotud üldkuludega.

Otsime veel korra "/post_max_size".

post_max_size = 12M

Note that you'll have to go back to your NGINX configuration and edit "client_max_body_size" if you decide to go with larger values than these examples for your PHP file sizes.

Praeguseks on see kõik. Veenduge, et te pole redigeerimisrežiimis, vajutades klahvi "Esc". Salvestage ja väljuge vimist.

SHIFT :(colon)
wq
Press 'Enter'

PHP-FPM seadistamine on lõpetatud.

MariaDB

Isegi maailmas, mis liigub pidevalt NoSQL-i või MongoDB poole, on mõnel meist siiski lihtsam MySQL-i järgida. See kehtib eriti paljude veebirakenduste kohta. Õnneks on Oracle MySQL-i jaoks nüüd olemas mitmeid "drop-in" asendusi. Debian 8 sisaldab nüüd üha populaarsemat MariaDB-d. MariaDB on Oracle MySQL-i hark, mis põhineb versioonil 5.5. MariaDB nimetab seda kõikidel eesmärkidel MariaDB 10-ks. Seda peetakse Oracle MySQL-i TÄIELIKUKS asenduseks. Mõelge sellele kui MySQL-ile, ilma Oracle'i kaubamärgita ja mõnele uuele funktsioonile.

apt-get install mariadb-server

TÄHTIS. Kindlasti peate valima MariaDB jaoks tugeva juurparooli. Salvestage see kuskile turvaliselt. Peate selle MariaDB installimise ajal kaks korda sisestama.

Kohandagem MariaDB konfiguratsiooni veidi. Me keelame MariaDB kuulamise võrguliidese kaudu. Selle asemel, nagu varem PHP-FPM-i puhul, jääme ainult UNIX-i pesa juurde. Enamik PHP-rakendusi peaks toetama andmebaasiserveriga ühenduse loomist UNIX-i pesa kaudu, mitte kohaliku loopback liidese kaudu.

cd /etc/mysql
vi my.cnf

Otsige üles "bind-aadress = 127.0.0.1". Kommenteerige seda rida. Selle kohale või alla lisage "võrkumine vahele".

#bind-address = 127.0.0.1
skip-networking

Oleme MariaDBga valmis! Lõpuks võite soovida muuta oma MariaDB konfiguratsiooni sõltuvalt sellest, kas kasutate peamiselt MyISAM-i või InnoDB-i salvestusmootoreid, aga ka teie serverile saadaolevate protsessorituumade ja RAM-i arvust. Vaikeseaded panevad meid vahepeal tööle.

Taaskäivitame kõik need teenused, mille konfiguratsioonifaile selles õpetuses muudeti.

systemctl restart nginx.service
systemctl restart php5-fpm.service
systemctl restart mysql.service

See on kõik – oleme kõik läbi. Praegu on teil võrgus täisfunktsionaalne LNMP (LEMP) server!

See juhend pidi olema üldine rusikareegel ülaltoodud teenustega alustamiseks minimaalse kohandamisega. Lisateabe saamiseks lugege ülaltoodud pakettide dokumentatsiooni. Kuigi see näidisseadistus peaks kohe "karbist väljas" hästi töötama, saab ja tõenäoliselt tulebki teha kohandusi, et need vastaksid paremini teie vajadustele.

Soovitatavad uurimisvaldkonnad:

  • NGINX-i vahemälu juhtimise kasutamine ja muutmine.
  • PHP-FPM "staatilised", "dünaamilised" või "ondemand" tegumihalduri sätted.
  • MariaDB jõudluse häälestamine, et saada oma andmebaasiserverist maksimumi.

Jäta kommentaar

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit