Nastavte NGINX, PHP-FPM a MariaDB na Debiane 8

Nastavte NGINX, PHP-FPM a MariaDB na Debiane 8

Táto príručka vám ukáže, ako správne nainštalovať a nakonfigurovať „alternatívny“ zásobník LAMP na Debian 8 pomocou NGINX, PHP Fast Process Manager a MariaDB.

NGINX

NGINX je „najskôr reverzný proxy, potom webový server“. Je to populárna a rastúca alternatíva k Apache, ktorá v mnohých prípadoch ponúka väčšiu flexibilitu a lepší výkon. V tomto návode ho budeme používať ako náš webový server.

Spustite svojho obľúbeného klienta SSH a prihláste sa na svoj server. Pre používateľov systému Windows je „PuTTY“ bezplatný a ľahký klient SSH. Používatelia systémov Linux a Mac môžu používať terminál, ktorý je štandardne súčasťou ich operačného systému. V tomto návode budeme predpokladať, že ste prihlásení na server ako „root“ používateľ.

Na začiatok sa len presvedčíme, že je všetko aktuálne. Ak chcete skontrolovať a potom nainštalovať aktualizácie, zadajte nasledujúce.

apt-get update && apt-get upgrade

Budeme upravovať naše konfiguračné súbory vo vime. Vim nie je štandardne nainštalovaný, tak si ho nainštalujte!

apt-get install vim

Teraz je čas nainštalovať NGINX. Budeme chcieť nainštalovať najnovšiu verziu NGINX z oficiálneho úložiska NGINX Debian.

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

Teraz musíme trochu vyladiť konfiguráciu NGINX. Prejdite do konfiguračného adresára.

cd /etc/nginx

Rýchla lekcia vim

Na navigáciu v textovom dokumente použite klávesy so šípkami. Ak chcete začať s úpravami, stlačte tlačidlo "vložiť" na klávesnici. Ak vaša klávesnica nemá tlačidlo vloženia, stlačte kláves „i“. Smerom k spodnej časti vim si všimnete, že teraz hovorí „INSERT“. Režim vkladania vám umožní odstrániť pomocou backspace alebo vložiť nové znaky ich zadaním.

Otvorme naše nginx.confa pozrime sa:

vi nginx.conf

Zmeňme predvoleného používateľa, skontrolujme počet pracovných procesov a vypnime denník prístupov.

Direktívy "user" a "worker_processes" sú v hornej časti. Vyskúšajte nižšie uvedené hodnoty:

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;

Chceme tiež zakázať prístupový denník, aby sme zlepšili výkon I/O. Pomocou klávesov so šípkami prejdite nadol, kým nenájdete „access_log“. Upravte ho na nasledovné:

access_log off;

A nakoniec nastavíme "client_max_body_size" tak, aby zodpovedal niektorým zmenám vykonaným v PHP neskôr. Ušetrime si problémy a urobme to teraz. Pridajte tesne pod "access_log":

client_max_body_size 12m;

Po dokončení úprav stlačte na klávesnici „Esc“. Vim už nepovie „VLOŽIŤ“ smerom na koniec súboru.

Ak chcete uložiť naše zmeny a ukončiť vim, stlačte nasledujúcu postupnosť kláves:

SHIFT :(colon)
wq
Press "Enter"

Vyššie uvedené vim kung fu zapíše vaše zmeny na disk a ukončí vim, čím vás vráti späť do bash shellu.

Teraz musíme urobiť konfiguráciu špecifickú pre náš príklad! Odstránime aj ostatné príklady konfigurácií. Vyskúšajte nasledovné:

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

Urobíme krátke a jednoduché, www.confvoľne založené na predvolenej konfigurácii NGINX, ale s niekoľkými vylepšeniami. Stlačte vložiť a môžete skopírovať/prilepiť nižšie uvedený príklad.

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;
    }
}

Teraz sme hotoví s konfiguračnou sekciou NGINX tohto návodu. Hneď po inštalácii PHP reštartujeme NGINX.

PHP-FPM

PHP-FPM je PHP Fast Process Manager. Je to potrebné pri používaní NGINX, pretože na rozdiel od Apache, NGINX nespúšťa PHP ako modul. Toto bolo urobené s cieľom znížiť pamäťovú stopu NGINX. Pamätáte si tú časť o tom, že NGINX je predovšetkým reverzný proxy? Tu to prichádza do úvahy; Požiadavky PHP odoslané do NGINX sa privádzajú do PHP-FPM, aby vykonali ťažkú ​​prácu.

Nainštalujeme 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

Teraz, keď máme nainštalovaný PHP-FPM, budeme chcieť urobiť niekoľko rýchlych úprav na zvýšenie bezpečnosti a funkčnosti.

cd /etc/php5/fpm
vi php.ini

Čas na ďalšiu rýchlu lekciu vim! php.iniSúbor je úplne obrovská. Hľadanie niekoľkých kľúčových hodnôt zaberie celý deň. Takže keďže vieme, čo hľadáme, budeme hľadať. Napíšte nasledovné:

/upload_max_filesize

V predvolenom nastavení je táto veľkosť nastavená na 2 megabajty. Ak chcete používateľom umožniť nahrávať do vašich aplikácií PHP súbory väčšie ako 2 megabajty, budete to musieť zmeniť. 10M je nateraz pravdepodobne bezpečná stávka, ale prijateľné sú aj vyššie hodnoty. Toto nastavenie sa bude líšiť v závislosti od konfigurácií. Kvôli tutoriálu:

upload_max_filesize = 10M

Ešte jedna do očí bijúca bezpečnostná chyba. Prejdite o niečo nižšie alebo hľadajte. Musíme prepnúť "allow_url_fopen" na "Off". To zabráni PHP spúšťať súbory PHP hostené NA DIAĽKU, inak známe ako RFI (Remote File Inclusion). Mnoho serverov je napadnutých týmto spôsobom.

allow_url_fopen = Off

A pretože sme zmenili „upload_max_filesize“, teraz musíme zmeniť „post_max_size“. Táto hodnota by mala byť o niečo väčšia ako "upload_max_filesize", pretože musíme brať do úvahy réžiu spojenú s našimi požiadavkami spracovanými PHP.

Poďme hľadať ešte raz pomocou "/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.

To je zatiaľ asi všetko. Uistite sa, že nie ste v režime úprav stlačením "Esc". Uložiť a ukončiť vim.

SHIFT :(colon)
wq
Press 'Enter'

Nastavenie PHP-FPM je dokončené.

MariaDB

Dokonca aj vo svete, ktorý sa neustále posúva smerom k NoSQL alebo MongoDB, je pre niektorých z nás stále jednoduchšie zostať pri MySQL. To platí najmä pre mnohé webové aplikácie. Našťastie v súčasnosti existuje množstvo „drop-in“ náhrad za Oracle MySQL. Debian 8 teraz obsahuje stále populárnu MariaDB. MariaDB je fork Oracle MySQL založený na verzii 5.5. MariaDB, pre všetky účely, to nazýva MariaDB 10. Považuje sa za ÚPLNÚ náhradu za Oracle MySQL. Myslite na to ako na MySQL v srdci, bez značky Oracle a niektorých nových funkcií.

apt-get install mariadb-server

DÔLEŽITÉ: Je absolútne nevyhnutné, aby ste si pre MariaDB vybrali silné heslo root. Uložte si to na bezpečné miesto. Počas inštalácie MariaDB ho budete musieť zadať dvakrát.

Trochu upravíme konfiguráciu MariaDB. Zakážeme počúvanie MariaDB cez sieťové rozhranie. Namiesto toho, ako v prípade PHP-FPM predtým, sa budeme držať iba soketu UNIX. Väčšina aplikácií PHP by mala podporovať pripojenie k databázovému serveru cez soket UNIX namiesto rozhrania lokálnej slučky.

cd /etc/mysql
vi my.cnf

Hľadajte "bind-address = 127.0.0.1". Komentujte tento riadok. Nad alebo pod to pridajte „skip-networking“.

#bind-address = 127.0.0.1
skip-networking

S MariaDB sme skončili! Nakoniec možno budete chcieť vyladiť svoju konfiguráciu MariaDB v závislosti od toho, či budete primárne používať úložné zariadenia MyISAM alebo InnoDB, ale aj od počtu jadier CPU a pamäte RAM, ktoré má váš server k dispozícii. Predvolené nastavenia nás medzičasom uvedú do prevádzky.

Reštartujme každú zo služieb, pre ktoré boli v tomto návode upravené konfiguračné súbory.

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

To je všetko - všetci sme skončili. V tomto bode máte plne funkčný LNMP (LEMP) server online!

Táto príručka mala slúžiť ako všeobecné pravidlo pre začiatok s vyššie uvedenými službami s minimálnym ladením. Ďalšie informácie nájdete v dokumentácii k vyššie uvedeným balíkom. Aj keď tento príklad nastavenia by mal fungovať dobre hneď po vybalení, úpravy môžu a s najväčšou pravdepodobnosťou budú musieť byť vykonané tak, aby lepšie vyhovovali vašim potrebám.

Odporúčané oblasti na výskum:

  • Využitie a úprava kontroly vyrovnávacej pamäte NGINX.
  • Nastavenia správcu úloh PHP-FPM „statické“, „dynamické“ alebo „na požiadanie“.
  • Ladenie výkonu MariaDB, aby ste z databázového servera vyťažili maximum.

Ako nastaviť bezobslužné aktualizácie na Debian 9 (Stretch)

Ako nastaviť bezobslužné aktualizácie na Debian 9 (Stretch)

Používate iný systém? Ak si zakúpite server Debian, mali by ste mať vždy najnovšie bezpečnostné záplaty a aktualizácie, či už spíte alebo nie

Nastavte si svoj vlastný DNS server na Debian/Ubuntu

Nastavte si svoj vlastný DNS server na Debian/Ubuntu

Tento tutoriál vysvetľuje, ako nastaviť server DNS pomocou Bind9 na Debiane alebo Ubuntu. V celom článku podľa toho nahraďte názov vašej-domény.com. Pri th

Kompilujte a nainštalujte Nginx pomocou modulu PageSpeed ​​na Debian 8

Kompilujte a nainštalujte Nginx pomocou modulu PageSpeed ​​na Debian 8

V tomto článku uvidíme, ako skompilovať a nainštalovať hlavnú líniu Nginx z oficiálnych zdrojov Nginx pomocou modulu PageSpeed, ktorý vám umožňuje t

Ako nainštalovať Kanboard na Debian 9

Ako nainštalovať Kanboard na Debian 9

Používate iný systém? Úvod Kanboard je bezplatný a otvorený softvérový program na riadenie projektov, ktorý je navrhnutý tak, aby uľahčil a vizualizoval

Ako nainštalovať Gitea na Debian 9

Ako nainštalovať Gitea na Debian 9

Používate iný systém? Gitea je alternatívny open source systém na správu verzií s vlastným hosťovaním, ktorý používa Git. Gitea je napísaná v Golangu a je

Nainštalujte Lynis na Debian 8

Nainštalujte Lynis na Debian 8

Úvod Lynis je bezplatný nástroj na auditovanie systému s otvoreným zdrojovým kódom, ktorý používajú mnohí správcovia systému na overenie integrity a posilnenie svojich systémov. ja

Ako nainštalovať Thelia 2.3 na Debian 9

Ako nainštalovať Thelia 2.3 na Debian 9

Používate iný systém? Thelia je open source nástroj na vytváranie webových stránok elektronického podnikania a správu online obsahu napísaného v PHP. Zdrojový kód Thelia i

Vytvorenie siete serverov Minecraft pomocou BungeeCord na Debian 8, Debian 9 alebo CentOS 7

Vytvorenie siete serverov Minecraft pomocou BungeeCord na Debian 8, Debian 9 alebo CentOS 7

Čo budete potrebovať Vultr VPS s aspoň 1 GB RAM. Prístup SSH (s oprávneniami root/administrátor). Krok 1: Inštalácia BungeeCord Najprv veci

Ako nainštalovať Golang 1.8.3 na CentOS 7, Ubuntu 16.04 a Debian 9

Ako nainštalovať Golang 1.8.3 na CentOS 7, Ubuntu 16.04 a Debian 9

Golang je programovací jazyk vyvinutý spoločnosťou Google. Vďaka svojej všestrannosti, jednoduchosti a spoľahlivosti sa Golang stal jedným z najpopulárnejších

Obnovte koreňové heslo MySQL na Debian/Ubuntu

Obnovte koreňové heslo MySQL na Debian/Ubuntu

Ak ste zabudli svoje root heslo MySQL, môžete ho resetovať podľa krokov v tomto článku. Proces je pomerne jednoduchý a funguje na nich

Vytváranie sieťových zdieľaní pomocou Samby v Debiane

Vytváranie sieťových zdieľaní pomocou Samby v Debiane

Sú chvíle, keď potrebujeme zdieľať súbory, ktoré musia byť viditeľné pre klientov Windows. Keďže systémy založené na poistkách fungujú iba na Linuxe, predstavíme sa

Nastavenie Counter Strike: Zdroj na Debiane

Nastavenie Counter Strike: Zdroj na Debiane

V tejto príručke nastavíme herný server Counter Strike: Source na Debiane 7. Tieto príkazy boli testované na Debiane 7, ale mali by tiež fungovať

Ako nainštalovať Unturned 2.2.5 na Debian 8

Ako nainštalovať Unturned 2.2.5 na Debian 8

V tejto príručke sa dozviete, ako nastaviť server Unturned 2.2.5 na Vultr VPS so systémom Debian 8. Poznámka: Toto je upravená verzia Unturned, ktorá

Ako nainštalovať Cachet na Debian 8

Ako nainštalovať Cachet na Debian 8

V tomto návode sa naučíte, ako nainštalovať Cachet na Debian 8. Cachet je výkonný open source systém stavových stránok. Inštalácia Tento tutoriál práve pokračuje

Automaticky zálohujte viacero databáz MySQL alebo MariaDB

Automaticky zálohujte viacero databáz MySQL alebo MariaDB

Úvod V tomto článku si dobre prejdeme, ako zálohovať viacero databáz MySQL alebo MariaDB, ktoré sedia na rovnakom počítači pomocou vlastného bash skriptu.

Nastavenie Chroota v Debiane

Nastavenie Chroota v Debiane

Tento článok vás naučí, ako nastaviť chroot väzenie v Debiane. Predpokladám, že používate Debian 7.x. Ak používate Debian 6 alebo 8, môže to fungovať, ale

How to Install Reader Self 3.5 RSS Reader on a Debian 9 LAMP VPS

How to Install Reader Self 3.5 RSS Reader on a Debian 9 LAMP VPS

Using a Different System? Reader Self 3.5 is a simple and flexible, free and open source, self-hosted RSS reader and Google Reader alternative. Reader Sel

Ako nainštalovať Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Ako nainštalovať Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Používate iný systém? Backdrop CMS 1.8.0 je jednoduchý a flexibilný, mobilný, bezplatný a open source systém na správu obsahu (CMS), ktorý nám umožňuje

Ako nainštalovať SteamCMD na váš VPS

Ako nainštalovať SteamCMD na váš VPS

V tomto návode nainštalujeme SteamCMD. SteamCMD je možné použiť na stiahnutie a inštaláciu mnohých herných serverov Steam, ako je Counter-Strike: Global Offensiv

Aktualizujte Python na Debian

Aktualizujte Python na Debian

Ako možno viete, úložiská Debianu sa aktualizujú veľmi pomaly. V čase písania tohto článku sú verzie vydania Pythonu 2.7.12 a 3.5.2, ale v úložisku Debian 8

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac