Telepítés és beállítás nginx, egy pár egyszerű példát, programozó jegyzetek
Ez a cikk elsősorban a kezdő fejlesztők. Mindenesetre azok, akik soha nem telepíteni és konfigurálni nginx. A cél a böjt, hogy megmutassa, hogy milyen könnyen és természetesen ott van a legjobb beállítást beállítást, és nginx nem kell félni, és nem éri meg, hogy nem sok kell a beállítást átvigye az adminok.
Nginx (ejtsd: "Engin X") - egy könnyű webszerver (sőt, nem csak az interneten), amelyeket Igorem Sysoevym. Nginx akkor használják, ha dofiga, beleértve Mail.ru, Yandex, Rambler, és a nagy-nagy számos más nagy és nem túl webes projektek. Itt egy teljes lista a lehetséges felhasználási nginx:
- Az alkalmazás képes HTTP és úgy döntött, hogy a nyakkendő nem kötelező SSL, gzip, vagy talán, SPDY;
- Van egy csomó alkalmazást, de azt szeretné, hogy mindezt a 80-as porton, és felelősek voltak a különböző URL;
- Azt szeretnénk, hogy gyorsan terjeszthető statikus;
- Függelék emelt a különböző szervereken, és azt szeretnénk, hogy (1) a rakományt közöttük, (2) ha az egyik szerver feküdt sikeresen reagál a megmaradt;
- Alkalmazás kérelmek feldolgozása lassan és azt szeretné, hogy cache;
- nem tudja, hogyan kell írni egy alkalmazást bejelentkezést HTTP-kéréseket;
- Hozzáférés az erőforrás korlátozni kívánt bejelentkezési név és jelszó, vagy IP;
- Te lámpa és a nagyszámú kérelmek kezdődik, hogy elfogyott a memória (lásd a WordPress optimalizálás);
- Megváltoztatja az URL-t a forrás, és azt szeretnék, hogy hozzanak létre egy átirányítást a régi URL visszamenőleges kompatibilitás;
- Azt akarod, hogy minden van írva a fenti egyidejűleg;
Telepített nginx nagyon egyszerű:
sudo apt-get install nginx
sudo service nginx Start
wget localhost: 80 -O -
«Üdvözöljük nginx» kell látni.
Naplók lekérdezések és hibák vannak írva a / var / log / nginx /. Konfigurációs fájlok az / etc / nginx /. A sites-available alkönyvtárban hozzáadunk minden konfigurációk, még azok is a múltban használt, de most veszik igénybe. A sites-enabled összeadódnak configs használt, úgy döntött, hogy a linkeket configs a sites-available.
Megváltoztatása után nginx configs tudja olvasni őket, anélkül, hogy indítsa újra. Ehhez el kell mondani:
sudo service nginx reload
Miután reload ellenőrizze a naplóit, hogy a hibákat.
Vegyünk egy példát. Tegyük fel, hogy a felvétel a podcast, és úgy döntött, hogy azt eljuttatja a drupleta a DigitalOcean. Akkor itt van, hogy akkor nézzen körül az config nginx:
root / var / www;
index index.html index.htm;
Helyszín / # Először próbálja szolgálni kérelmet fájlt, majd
# Mivel könyvtárba, majd visszaesik a megjelenítő 404.
try_files $ uri $ uri / = 404;
>
Nagyjából, mit beszélünk nginx -, hogy (1) hallgatni a 80-as portot, (2) előtérbe fájlok a sebesség nem nagyobb, mint 512 kilobájt másodpercenként, (3) a hiba esetén 403, illetve 404 átirányítani a megadott kiszolgálóhoz, (4 ) Hadd fájlokat a / var / www, (5), ha a felhasználó olyan katalógus, és van egy fájl index.html vagy index.htm az, hogy a fájl. Ez nem nehéz, ugye?
Tekintsük egy másik példát. Tegyük fel, hogy az alkalmazás a spin az AWS és kommunikál a világot vebsoketov. Titkosítani kívánt forgalmat az SSL használatával. Nem probléma:
Térkép $ http_upgrade $ connection_upgrade alapértelmezett frissíteni;
„” Bezár;
>
upstream WebSocket szerver localhost: 1234;
>
ssl on;
ssl_certificate /etc/nginx/nginx.crt;
ssl_certificate_key /etc/nginx/nginx.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH: aNULL: MD5 vagy HIGH: aNULL: MD5: 3DES !!!!!";
ssl_prefer_server_ciphers on;
Itt Gauvreau nginx lehetne (1) hallgatni a 443-as porton, és továbbítja az összes kérést a localhost: 1234 (2) továbbítására a felhasználó beállíthatja a fejléc az IP, (3), hogy az SSL nélkül lyukas SSLv3. (4) kiosztani 100 MB memória az SSL ülésén.
Végül az utolsó példa. A REST-szolgáltatás válik Hetzner ad adatformátum JSON, CSV, és létrehoz egy végtelen folyam események (JSON a darabolt átviteli kódolás). Generation patakok igényel sok erőforrást, ezért azt szeretné, hogy áthalad egy külön sor a gépek. Továbbá, azt szeretnénk, hogy tömöríteni a forgalmat a gzip.
upstream service_default szerver localhost: 1234;
>
Térkép _ $ service_upstream alapértelmezett service_default;
>
szerver hallgatni 80;
chunked_transfer_encoding on;
proxy_buffering ki;
TCP_NODELAY ki;
proxy_read_timeout 1800;
proxy_send_timeout 1800;
gzip on;
gzip_comp_level 6;
gzip_proxied ilyen;
gzip_types application / json application / x-json-áramot;
>
Azt hiszem, most akkor már nem értem, mi forog kockán. Ebben az esetben keresse fel a hivatalos dokumentációt nginx. Ő nagyszerű, és ez mind ott van. Szintén figyelni a hivatalos levelezési listák.
Tulajdonképpen ez az, amit el akartam mondani. És hogyan használja nginx?