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?

Mint a bejegyzést? Oszd meg másokkal:

Kapcsolódó cikkek