Pred chvíľou Hovoril som vám o tejto sérii návodov, o tom, ako nainštalovať a nakonfigurovať server pre vysoký dopyt. Tento článok bude o inštalácii a konfigurácii Nginx:
Nginx:
O Nginxe sme vám už hovorili skôr v článku Nginx: Zaujímavá alternatíva k Apache, tam sme vám povedali, že ide o webový server ako Apache, LightHttpd alebo Cherokee, no v porovnaní s Apache vyniká výkonom a nízkou spotrebou hardvéru, práve preto mnoho veľkých stránok ako Facebook, MyOpera.com, DropBox či dokonca WordPress .com používa Nginx namiesto Apache. Vo svete Linuxu DesdeLinux Nie je jediný, ktorý používa Nginx, pokiaľ viem, používa ho aj emsLinux a MuyLinux :)
Moje osobné skúsenosti s Nginxom sa datujú pred niekoľkými rokmi, keď som z núdze začal hľadať ľahké alternatívy k Apache. V tom čase sa Nginx chystal pre verziu 0.6 a jeho kompatibilita s webmi s vysokým dopytom vytvoreným v PHP nebola najoptimálnejšia, avšak v súčasnosti od verzie 0.9 (v1.2.1 k dispozícii na Debiane Stable, v1.4.2 k dispozícii na ArchLinuxe) sa veľa zlepšil, až do tej miery, že pri správnej konfigurácii a zjednotení Nginx + PHP bude všetko fungovať ako kúzlo.
V tejto sérii tutoriálov Použijem Nginx verzie 1.2.1-2.2, dostupné v archívoch Debianu Stable (Wheezy).
1. Inštalácia:
Začneme prvou vecou, inštaláciou Nginx z našich úložísk.
Ak na svojom serveri používate v termináli distribúciu ako Debian, Ubuntu alebo nejaký derivát, musíte vložiť nasledovné a stlačiť vstúpiť :
aptitude install nginx
V prípade, že na svojom serveri používate inú distribúciu, napríklad CentOS, Red Hat, Fedora, jednoducho si nainštalujte balíček: nginx z oficiálneho úložiska
2. Konfigurácia:
Nginx už máme nainštalovaný, ale samozrejme ho musíme nakonfigurovať. Pripravil som komprimovaný súbor na FTP, ktorý obsahuje všetky konfigurácie, ktoré sa používajú na serveroch. DesdeLinux, a to ako pre PHP, Nginx atď. Poďme si stiahnuť a rozbaliť tento súbor:
cd ~ && wget http://ftp.desdelinux.net/nginx-spawn-fastcgi.tar.gz && tar xf nginx-spawn-fastcgi.tar.gz
Týmto sa vytvorí priečinok s názvom nginx-spawn-fastcgi, z ktorého budeme potrebovať dva súbory pre čistý Nginx (to znamená bez jeho prepojenia s PHP):
- nginx.conf - »Hlavný konfiguračný súbor Nginx (o jeho obsahu si povieme neskôr)
- index.html - »Jednoduchý html súbor, pomocou ktorého zistíme, či pre nás Nginx skutočne funguje v tej najzákladnejšej podobe
- mywebsite.net - »Konfiguračný súbor pre jednoduchý web, VHost (virtuálny hostiteľ), ktorý nakonfiguruje prístup k predchádzajúcemu html
Najprv sa presunieme do priečinka nastavení Nginx:
cd /etc/nginx/
Potom odstráňte jeho predvolenú konfiguráciu a vložte našu vlastnú:
mv nginx.conf nginx.conf_BK && cp ~/nginx-spawn-fastcgi/nginx.conf ./
Toto, ako som už uviedol, je hlavný konfiguračný súbor Nginx, v ktorom som už definoval nasledujúce:
používateľské údaje www; pracovné procesy 4; pid /var/run/nginx.pid;
Užívateľský prístup k súborovému systému (s ktorým bude nginx pristupovať všade), počet procesov na prácu a tiež PID (id procesu nginx).
Máme tu tiež malý blok nazývaný udalosti (nastavenia udalostí), ktorý obsahuje riadok označujúci maximálny povolený počet pripojení na jednu udalosť. Nižšie je blok s názvom http.
Tento blok http je ten, ktorý obsahuje takmer všetko, čo sa týka hostingu, minimálne veľa vecí, ktoré vás zaujmú. Napríklad maximálny čas na život alebo čakanie (časový limit), kde budú naše všeobecné protokoly (access.log a error.log), kompresia dát pomocou gzip, ako aj ďalšie pravidlá, ktoré by mohli byť v budúcnosti užitočné.
Akonáhle je hlavný konfiguračný súbor na mieste, skopírujme súbor z nášho VHost do priečinka sites-available
cp ~/nginx-spawn-fastcgi/mywebsite.net sites-available/
Okrem toho musíme z tohto súboru vytvoriť symbolický odkaz na priečinok s povolenými stránkami.
ln -s /etc/nginx/sites-available/mywebsite.net /etc/nginx/sites-enabled/
Vysvetľujem, aké užitočné je mať webové stránky povolené a dostupné.
Nájdu chvíle, keď musia mať pripravených a nakonfigurovaných niekoľko súborov vhost, pretože na tomto serveri umiestnia online, povedzme 5 stránok. Stáva sa však, že ešte nie je čas povoliť 2 z týchto 5 vhostov, ale musia mať pripravené súbory, aby boli v prípade potreby online v čo najkratšom čase. Na webové stránky môžu vložiť toľko vhostov, koľko chcú, pretože tie, ktoré Nginx číta na online, sú iba servery s povoleným webom, fungovalo by to aj opačným smerom, v prípade, že chcú umiestniť offline ( napríklad dočasne) web, nie je potrebné mazať súbory zo servera (súbory, ktoré budeme neskôr potrebovať), jednoducho odstránime symbolický odkaz povolených webov a je to. Užitočnosť mať symbolické odkazy a nielen kopírovať súbor z jedného priečinka do druhého je ten, že keď chceme editovať vhost, nezáleží na tom, či editujeme ten, ktorý je umiestnený v povolenom alebo dostupnom, nakoniec je to to isté
archív.
Súbor mywebsite.net, ako som už povedal, vhost, ktorý slúži ako príklad, to znamená, inými slovami, musíme upraviť web mywebsite.net a vytvoriť našu konfiguráciu.
Musíme zmeniť toto:
- access_log (riadok 3): Toto bude cesta k súboru protokolu prístupu na túto stránku
- error_log (riadok 4): Toto bude cesta k súboru denníka chýb na túto lokalitu
- server_name (riadok 5): URL, doména, ktorá je hosťovaná v tomto priečinku, napríklad ak by to bolo fórum DesdeLinux bolo by to: forum server_name.desdelinux.net
- root (riadok 6): Cesta k priečinku, kde sú súbory html, toto nechajme v / var / www /, pretože to bude iba test
Teraz stačí skopírovať html súbor do priečinka, ktorý definujeme v našom súbore VHost, / var / www /:
mkdir /var/www/ && cp ~/nginx-spawn-fastcgi/index.html /var/www/
Potom reštartujeme Nginx a je to:
service nginx restart
A voila, objaví sa niečo také:
Pripomínam, že pracujeme najskôr s Nginx pre HTML, bez podpory PHP bude táto inštalácia PHP a jej prepojenie s Nginx obsahom nasledujúceho tutoriálu (sľubujem za pár dní).
Toto je každopádne návod na inštaláciu a konfiguráciu Nginx, aby fungoval čisto, teda web HTML, dúfam, že vás bude zaujímať.
Objasním, že áno, stále existujú osvedčené postupy, ktoré je možné použiť, počkajme však na dokončenie tejto série návodov a potom vyhodnotíme konečný výsledok práce 😉
pozdravy
Ďakujem, veľmi užitočné!
Ďakujem za komentár
V backportoch je nginx 1.4 ..
Áno, ale na produkčnom serveri nič z toho nepoužívam 😀
Pod pojmom „to“ rozumiete najnovšiu stabilnú a testovanú verziu vydanú nginx, vďaka čomu vydáte zvuk, akoby to bolo trefné zo strany sid. ~ _ ~
No tak, je to ... na serveroch, ktoré som nikdy nemal rád, keď som používal iné repo, alebo backporty alebo niečo podobné 🙂
To som sa pred rokmi dozvedel vždy stabilne na serveroch.
Nginx 1.4 je stabilný od minulého apríla, v backportoch je to 1.4.1-3.
2013-04-24
Bola vydaná stabilná verzia nginx-1.4.0, ktorá obsahuje mnoho nových funkcií vyvinutých v pobočke 1.3.x - podpora proxy servera pripojení WebSocket, zošívanie OCSP, modul SPDY, filter gunzip a ďalšie.
http://nginx.org/en/CHANGES-1.4
Máte pravdu v tom, čo hovoríte, môj klobúk je vypnutý.
Ďakujeme za zdieľanie, v súčasnosti zavádzam váš najstarší príspevok do praxe.
Idem ťa naplniť otázkami XD
Ďakujem za prečítanie 🙂
Ak máte nejaké otázky alebo obavy, viete, sme tu, aby sme vám pomohli, je tu fórum.desdelinux.net, kde sa vám spoločne pokúsime poskytnúť to najlepšie riešenie
pozdravy
Mám otázku, na ktorej beží server LAMP [Linux (Debian Wheezy), Apache, PHP a MySQL] pre WordPress a Owncloud, ako migrujem na Ngnix, ďalšou otázkou je, aký je rozdiel medzi Ngnix a Lighttpd.
Najväčšou komplikáciou alebo problémom pri migrácii z Apache na Nginx sú konfigurácie jednotlivých webov, to znamená konkrétne .htaccess, ktorý používate.
.Htaccess je pri prechode na Nginx najkomplexnejší, pretože ide o rôzne konfigurácie, ktoré musíte vložiť do Nginx VHost.
O LightHTTPd a Nginx ... Neviem, LightHTTPd som použil iba raz pred mnohými rokmi, v súčasnosti vôbec netuším, ako prebieha jeho vývoj, konkrétne pomocou PHP.
NGINX vyzerá v porovnaní s Apache celkom jasne. Čaká sa na ďalšiu epizódu, ktorá ju bude môcť doplniť o PHP
Čakám na tipy, ako optimalizovať viac na nginx 😀
Mimochodom, Gaara, do nasledujúceho tutoriálu môžete zahrnúť, ako implementovať podporu SSL.
Zdravím.
Tipy, ktoré prichádzajú, sú v skutočnosti na optimalizáciu spracovania PHP, ukladanie stránok do vyrovnávacej pamäte, môžem uviesť príklad konfigurácie, ktorú používame v DesdeLinux pre Nginx+Wordpress+W3_Total_Cache :)
Dakujem dobry prispevok.
A sprievodca pre archlinux kedy? xD
V Arche to bolo veľmi podobné, menia sa iba názvy balíkov, ale ... conf je takmer identický
Ale kto má produkčný server s Archom? 😀
Ahoj,
Opäť som to ja xD ...
Sledoval som vaše kroky pri ich uplatňovaní na počítači s archlinuxom a mám nasledujúci problém:
[abr4xas@Genius www]$ systemctl status nginx.service
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled)
Active: failed (Result: exit-code) since vie 2013-11-15 20:11:35 VET; 1min 13s ago
Process: 1258 ExecStartPre=/usr/bin/nginx -t -q -g pid /run/nginx.pid; daemon on; master_process on; (code=exited, status=1/FAILURE)
Akékoľvek návrhy 😀
Jo ... xox, chcem iba interný server, to znamená, že chcem vymeniť iba xampp, mám to urobiť všetko?
Ak chcete, môžete to implementovať (čo opakujem, s tým DL pracuje), vlastne môj virtuálny server (ktorý používam na vývoj a testovanie) mám urobený s rovnakou vecou, ktorú vysvetľujem.
To znamená, že môžete buď odstrániť XAMPP a vložiť tento variant, a bude to fungovať dobre, alebo ak chcete opustiť XAMPP ... bude to pre vás stále fungovať.
Pozitívnym bodom jeho používania, ktorý ukazujem, je veľmi nízka spotreba hardvéru v porovnaní s Apache, ale na vašom osobnom počítači, ktorý nie je hostingom s vysokou požiadavkou, ďaleko od toho ... ak XAMPP pre vás funguje dobre, pozri, prečo to odstrániť 🙂
Už mám spustený svoj server Linux (Debian, Nginx, MySQL a PHP). Bolo pre mňa ťažké dostať PHP do práce s Nginx, pretože som bol zvyknutý na jednoduchý webový server Apache.
Moja otázka znie: Vie niekto, ako môžem nasmerovať testovanú doménu, ktorú som si kúpil, na svoj server? Chcel by som vyskúšať svoju doménu .com, aby som zistil, ako to funguje, ale nemám najmenšie tušenie, ako to urobiť, pretože na prístup k nej pomocou noip DUC som vždy používal adresu NOIP.
Dúfam, že mi niekto pomôže, vďaka!
Toto sa mi zobrazuje pri pokuse o pripojenie k vášmu FTP:
cd ~ && wget http://ftp.desdelinux.net/nginx-spawn-fastcgi.tar.gz && tar xf nginx-spawn-fastcgi.tar.gz
Žiadosť HTTP bola odoslaná a čaká na odpoveď ... 404 Nenašlo sa
2015-11-23 17:46:30 CHYBA 404: Nenašlo sa.
Mám spustený server na CentOS (Gunicorn, Nginx, PHP), aby som fungoval, trvalo mi veľa práce, ale narazil som na to, že webová stránka, ktorú chcem spustiť, potrebuje v tomto prípade konfiguráciu poskytovateľa domény Go Oci, takže v tejto chvíli neviem, ako mám pokračovať.
Mohli by ste so mnou zdieľať konfiguračné súbory, pretože ich nemôžem stiahnuť?