Nastavte NGINX, PHP-FPM a MariaDB na Debianu 8

Nastavte NGINX, PHP-FPM a MariaDB na Debianu 8

Tato příručka vám ukáže, jak správně nainstalovat a nakonfigurovat "alternativní" zásobník LAMP na Debian 8 pomocí NGINX, PHP Fast Process Manager a MariaDB.

NGINX

NGINX je „nejprve reverzní proxy, potom webový server“. Je to oblíbená a rostoucí alternativa k Apache, která v mnoha případech nabízí větší flexibilitu a lepší výkon. V tomto tutoriálu jej budeme používat jako náš webový server.

Spusťte svého oblíbeného klienta SSH a přihlaste se na svůj server. Pro uživatele Windows je „PuTTY“ bezplatný a lehký klient SSH. Uživatelé systémů Linux a Mac mohou používat terminál, který je standardně součástí jejich operačního systému. V tomto tutoriálu budeme předpokládat, že jste přihlášeni ke svému serveru jako uživatel „root“.

Pro začátek se jen ujistěte, že je vše aktuální. Chcete-li zkontrolovat a nainstalovat aktualizace, zadejte následující.

apt-get update && apt-get upgrade

Budeme upravovat naše konfigurační soubory ve vimu. Vim není standardně nainstalován, tak si ho nainstalujme!

apt-get install vim

Nyní je čas nainstalovat NGINX. Budeme chtít nainstalovat nejnovější verzi NGINX z oficiálního úložiště 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

Nyní musíme trochu vyladit konfiguraci NGINX. Přejděte do konfiguračního adresáře.

cd /etc/nginx

Rychlá lekce vim

Pomocí kláves se šipkami se můžete pohybovat v textovém dokumentu. Chcete-li začít s úpravami, stiskněte na klávesnici tlačítko „vložit“. Pokud vaše klávesnice nemá tlačítko pro vložení, stiskněte klávesu „i“. Směrem ke spodní části vim si všimnete, že nyní říká „INSERT“. Režim vkládání vám umožní odstranit pomocí backspace nebo vložit nové znaky jejich zadáním.

Otevřeme naše nginx.confa prohlédneme si:

vi nginx.conf

Změňme výchozího uživatele, zkontrolujme počet pracovních procesů a vypněte protokol přístupu.

Direktivy "user" a "worker_processes" jsou nahoře. Vyzkoušejte níže 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 také zakázat přístupový protokol, abychom zlepšili výkon I/O. Pomocí kláves se šipkami přejděte dolů, dokud nenajdete „access_log“. Upravte jej na následující:

access_log off;

A nakonec nastavíme "client_max_body_size" tak, aby odpovídal některým změnám provedeným v PHP později. Ušetřeme si problémy a udělejme to hned. Přidejte těsně pod „access_log“:

client_max_body_size 12m;

Po dokončení úprav stiskněte na klávesnici „Esc“. Vim již nebude říkat „INSERT“ směrem ke konci souboru.

Chcete-li uložit naše změny a ukončit vim, stiskněte následující sekvenci kláves:

SHIFT :(colon)
wq
Press "Enter"

Výše uvedené vim kung fu zapíše vaše změny na disk a ukončí vim, čímž vás vrátí zpět do bash shellu.

Nyní musíme pro náš příklad vytvořit konfiguraci specifickou pro web! Smažeme také ostatní ukázkové konfigurace. Zkuste následující:

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

Uděláme krátký a jednoduchý, www.confvolně založený na výchozí konfiguraci NGINX, ale s několika úpravami. Stiskněte vložit a můžete zkopírovat/vložit níže uvedený pří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;
    }
}

Nyní jsme hotovi s sekcí konfigurace NGINX tohoto tutoriálu. Za chvíli restartujeme NGINX, hned po instalaci PHP.

PHP-FPM

PHP-FPM je PHP Fast Process Manager. Je to vyžadováno při používání NGINX, protože na rozdíl od Apache, NGINX nespouští PHP jako modul. To bylo provedeno za účelem snížení paměťové stopy NGINX. Pamatujete si tu část o tom, že NGINX je především reverzní proxy? Tady to vstupuje do hry; Požadavky PHP odeslané do NGINX jsou přiváděny do PHP-FPM, aby to udělalo těžké.

Pojďme nainstalovat 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

Nyní, když máme nainstalovaný PHP-FPM, budeme chtít provést několik rychlých úprav pro zvýšení zabezpečení a funkčnosti.

cd /etc/php5/fpm
vi php.ini

Čas na další rychlou lekci vim! php.iniSoubor je naprosto obrovská. Hledání pár klíčových hodnot zabere celý den. Takže protože víme, co hledáme, budeme hledat. Zadejte následující:

/upload_max_filesize

Ve výchozím nastavení je tato velikost nastavena na 2 megabajty. Pokud chcete uživatelům umožnit nahrávat do vašich aplikací PHP soubory větší než 2 megabajty, budete muset toto změnit. 10M je zatím pravděpodobně sázka na jistotu, ale akceptovatelné jsou i vyšší hodnoty. Toto nastavení se bude lišit v závislosti na konfiguraci. Pro poučení:

upload_max_filesize = 10M

Ještě jedna do očí bijící bezpečnostní chyba. Přejděte o něco níže nebo vyhledejte. Musíme přepnout "allow_url_fopen" na "Off". To zabrání PHP spouštět soubory PHP hostované VZDÁLENĚ, jinak známé jako RFI (Remote File Inclusion). Mnoho serverů je tímto způsobem hackováno.

allow_url_fopen = Off

A protože jsme změnili "upload_max_filesize", musíme nyní změnit "post_max_size". Tato hodnota by měla být o něco větší než "upload_max_filesize", protože musíme vzít v úvahu režii spojenou s našimi požadavky zpracovávanými PHP.

Pojďme hledat ještě jednou pomocí "/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 zatím asi vše. Ujistěte se, že nejste v režimu úprav stisknutím "Esc". Uložte a ukončete vim.

SHIFT :(colon)
wq
Press 'Enter'

Nastavení PHP-FPM je dokončeno.

MariaDB

I ve světě, který se neustále posouvá směrem k NoSQL nebo MongoDB, je pro některé z nás stále jednodušší zůstat u MySQL. To platí zejména pro mnoho webových aplikací. Naštěstí nyní existuje řada „drop-in“ náhrad za Oracle MySQL. Debian 8 nyní obsahuje stále populární MariaDB. MariaDB je fork Oracle MySQL založený na verzi 5.5. MariaDB, pro všechny záměry a účely, tomu říká MariaDB 10. Je považována za PLNOU náhradu za Oracle MySQL. Představte si to jako MySQL v srdci, bez značky Oracle a některé nové funkce.

apt-get install mariadb-server

DŮLEŽITÉ: Rozhodně musíte vybrat silné root heslo pro MariaDB. Uložte to někde v bezpečí. Během instalace MariaDB jej budete muset zadat dvakrát.

Pojďme mírně upravit konfiguraci MariaDB. Zakážeme naslouchání MariaDB přes síťové rozhraní. Místo toho, stejně jako dříve u PHP-FPM, zůstaneme pouze u UNIXového socketu. Většina aplikací PHP by měla podporovat připojení k databázovému serveru prostřednictvím soketu UNIX namísto rozhraní místní smyčky.

cd /etc/mysql
vi my.cnf

Hledejte „bind-address = 127.0.0.1“. Komentujte ten řádek. Nad nebo pod něj přidejte „skip-networking“.

#bind-address = 127.0.0.1
skip-networking

S MariaDB jsme skončili! Nakonec možná budete chtít vyladit konfiguraci MariaDB v závislosti na tom, zda budete primárně používat úložné stroje MyISAM nebo InnoDB, ale také na počtu jader CPU a paměti RAM, které má váš server k dispozici. Výchozí nastavení nás mezitím zprovozní.

Pojďme restartovat každou ze služeb, pro které byly v tomto tutoriálu upraveny konfigurační soubory.

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

To je ono – všichni jsme hotovi. V tomto okamžiku máte plně funkční LNMP (LEMP) server online!

Tato příručka měla sloužit jako obecné pravidlo pro začátek s výše uvedenými službami s minimálními úpravami. Další informace naleznete v dokumentaci k výše uvedeným balíčkům. I když by toto příkladné nastavení mělo fungovat dobře hned po vybalení, úpravy mohou a pravděpodobně budou muset být provedeny tak, aby lépe vyhovovaly vašim potřebám.

Doporučené oblasti k výzkumu:

  • Využití a úprava ovládání mezipaměti NGINX.
  • Nastavení správce úloh PHP-FPM „statické“, „dynamické“ nebo „na vyžádání“.
  • Ladění výkonu MariaDB pro maximální využití databázového serveru.

Jak nastavit bezobslužné upgrady na Debian 9 (Stretch)

Jak nastavit bezobslužné upgrady na Debian 9 (Stretch)

Používáte jiný systém? Pokud si zakoupíte server Debian, měli byste mít vždy nejnovější bezpečnostní záplaty a aktualizace, ať už spíte nebo ne

Nastavte si svůj vlastní DNS server na Debian/Ubuntu

Nastavte si svůj vlastní DNS server na Debian/Ubuntu

Tento tutoriál vysvětluje, jak nastavit DNS server pomocí Bind9 na Debianu nebo Ubuntu. V celém článku nahraďte odpovídajícím způsobem název-vaše-domény.com. Při čt

Zkompilujte a nainstalujte Nginx pomocí modulu PageSpeed ​​na Debian 8

Zkompilujte a nainstalujte Nginx pomocí modulu PageSpeed ​​na Debian 8

V tomto článku uvidíme, jak zkompilovat a nainstalovat hlavní řadu Nginx z oficiálních zdrojů Nginx pomocí modulu PageSpeed, který vám umožňuje

Jak nainstalovat Kanboard na Debian 9

Jak nainstalovat Kanboard na Debian 9

Používáte jiný systém? Úvod Kanboard je bezplatný a otevřený softwarový program pro správu projektů, který je navržen tak, aby usnadnil a vizualizoval

Jak nainstalovat Gitea na Debian 9

Jak nainstalovat Gitea na Debian 9

Používáte jiný systém? Gitea je alternativní open source systém pro správu verzí s vlastním hostitelem poháněný systémem Git. Gitea je napsána v Golangu a je

Nainstalujte Lynis na Debian 8

Nainstalujte Lynis na Debian 8

Úvod Lynis je bezplatný nástroj pro audit systému s otevřeným zdrojovým kódem, který používá mnoho systémových administrátorů k ověření integrity a posílení svých systémů. já

Jak nainstalovat Thelia 2.3 na Debian 9

Jak nainstalovat Thelia 2.3 na Debian 9

Používáte jiný systém? Thelia je open source nástroj pro vytváření webových stránek pro e-business a správu online obsahu napsaného v PHP. Zdrojový kód Thelia i

Vytvoření sítě serverů Minecraft pomocí BungeeCord na Debian 8, Debian 9 nebo CentOS 7

Vytvoření sítě serverů Minecraft pomocí BungeeCord na Debian 8, Debian 9 nebo CentOS 7

Co budete potřebovat Vultr VPS s alespoň 1 GB RAM. Přístup SSH (s oprávněními root/administrátor). Krok 1: Instalace BungeeCord První věci

Jak nainstalovat Golang 1.8.3 na CentOS 7, Ubuntu 16.04 a Debian 9

Jak nainstalovat Golang 1.8.3 na CentOS 7, Ubuntu 16.04 a Debian 9

Golang je programovací jazyk vyvinutý společností Google. Díky své všestrannosti, jednoduchosti a spolehlivosti se Golang stal jedním z nejoblíbenějších

Resetujte kořenové heslo MySQL na Debian/Ubuntu

Resetujte kořenové heslo MySQL na Debian/Ubuntu

Pokud jste zapomněli své kořenové heslo MySQL, můžete ho resetovat podle kroků v tomto článku. Proces je poměrně jednoduchý a funguje na nich

Vytváření síťových sdílení pomocí Samby v Debianu

Vytváření síťových sdílení pomocí Samby v Debianu

Jsou chvíle, kdy potřebujeme sdílet soubory, které musí být viditelné pro klienty Windows. Vzhledem k tomu, že systémy založené na pojistkách fungují pouze na Linuxu, představujeme vás

Nastavení Counter Strike: Source na Debianu

Nastavení Counter Strike: Source na Debianu

V této příručce nastavíme herní server Counter Strike: Source na Debianu 7. Tyto příkazy byly testovány na Debianu 7, ale měly by také fungovat

Jak nainstalovat Unturned 2.2.5 na Debian 8

Jak nainstalovat Unturned 2.2.5 na Debian 8

V této příručce se dozvíte, jak nastavit server Unturned 2.2.5 na Vultr VPS se systémem Debian 8. Poznámka: Toto je upravená verze Unturned, která

Jak nainstalovat Cachet na Debian 8

Jak nainstalovat Cachet na Debian 8

V tomto tutoriálu se naučíte, jak nainstalovat Cachet na Debian 8. Cachet je výkonný open source systém stavových stránek. Instalace Tento tutoriál právě probíhá

Automaticky zálohujte více databází MySQL nebo MariaDB

Automaticky zálohujte více databází MySQL nebo MariaDB

Úvod V tomto zápisu si dobře projděte, jak zálohovat více databází MySQL nebo MariaDB, které sedí na stejném počítači pomocí vlastního bash skriptu.

Nastavení Chrootu v Debianu

Nastavení Chrootu v Debianu

Tento článek vás naučí, jak nastavit chroot jail v Debianu. Předpokládám, že používáte Debian 7.x. Pokud používáte Debian 6 nebo 8, může to fungovat, bu

Jak nainstalovat Reader Self 3.5 RSS Reader na Debian 9 LAMP VPS

Jak nainstalovat Reader Self 3.5 RSS Reader na Debian 9 LAMP VPS

Používáte jiný systém? Reader Self 3.5 je jednoduchá a flexibilní, bezplatná a open source, samostatně hostovaná RSS čtečka a alternativa Google Reader. Čtenář Sel

Jak nainstalovat Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Jak nainstalovat Backdrop CMS 1.8.0 na Debian 9 LAMP VPS

Používáte jiný systém? Backdrop CMS 1.8.0 je jednoduchý a flexibilní, mobilní, bezplatný a open source systém správy obsahu (CMS), který nám umožňuje

Jak nainstalovat SteamCMD na váš VPS

Jak nainstalovat SteamCMD na váš VPS

V tomto tutoriálu nainstalujeme SteamCMD. SteamCMD lze použít ke stažení a instalaci mnoha herních serverů Steam, jako je Counter-Strike: Global Offensiv

Upgradujte Python na Debian

Upgradujte Python na Debian

Jak možná víte, repozitáře Debianu se aktualizují velmi pomalu. V době psaní tohoto článku jsou verze vydání Pythonu na 2.7.12 a 3.5.2, ale v úložišti Debian 8

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více