Instalarea și configurarea Nginx, câteva exemple simple, note de programator

Acest articol este destinat în primul rând pentru dezvoltatorii de novice. În orice caz, cei care nu au mai instalați niciodată și configura Nginx. Scopul postului este de a arăta cât de ușor și natural este cea mai bună setare pentru setare, și că Nginx nu trebuie să se teamă, și să nu-l merită, fără nevoie de mult pentru a transfera setarea la adminilor.

Nginx (pronunțat "Engin X") - un server de web ușor (de fapt, nu numai pe web), a creat Igorem Sysoevym. Nginx este utilizat în cazul în care dofiga, inclusiv Mail.ru, Yandex, Rambler, și marea-o mare varietate de alte proiecte de mare și nu web foarte. Aici este o listă incompletă de posibile utilizări Nginx:

  • Aplicația dvs. poate HTTP, și v-ați decis să cravată SSL opțional, gzip, sau poate, SPDY;
  • Ai o mulțime de aplicații, dar doriți ca toate să fie pe portul 80 și au fost responsabile pentru URL-uri diferite;
  • Doriți să distribuiți rapid statică;
  • Apendicele ridicat pe diferite servere, si doriti sa (1) să distribuie sarcina între ele, (2), în cazul în care unul dintre serverele stabili care răspund cu succes folosind restul;
  • Cererile de aderare sunt procesate încet și doriți ca acestea să fie în cache;
  • nu știi cum să scrie o cerere de logare HTTP-cereri;
  • Accesul la resursa pe care doriți să restricționați de conectare și parola, sau prin IP;
  • Tu lampă și un număr mare de cereri începe să curgă afară de memorie (a se vedea nota despre optimizarea WordPress);
  • Modificați URL-ul resursei și doriți să configurați o redirecționare de URL-ul vechi pentru compatibilitatea cu versiunile anterioare;
  • Vrei să faci tot ce este scris mai sus, în același timp;

Nginx instalat este foarte simplu:

sudo apt-get install Nginx
sudo de pornire de serviciu Nginx
wget localhost: 80 -O -

«Bine ați venit la Nginx» ar trebui să vedeți.

Activitate interogări și erori sunt scrise în / var / log / Nginx /. Fișierele de configurare sunt în / etc / Nginx /. În subdirector site-uri de-a adăugat disponibile toate configurările toate, chiar și cele pe care le utilizate în trecut, dar acum ei folosesc. În site-urile activate adăuga până configurările utilizate, a decis să facă legăturile configs în site-uri de-disponibile.

După schimbarea configs Nginx le poate citi fără a fi nevoie pentru a reporni. Pentru a face acest lucru, trebuie spus:

sudo serviciu Nginx Reîncărcare

După ce reîncărcați-vă pentru a verifica jurnalele pentru a vedea dacă erorile.

Să considerăm un exemplu. Să presupunem că înregistrați podcast-ul și a decis să-l distribui folosind drupleta în DigitalOcean. Apoi, iată cum va arăta în jurul valorii de configurare dvs. Nginx:

root / var / www;
index.htm index index.html;

Locul de amplasare / # Prima încercare de a servi cerere ca fișier, atunci
# Ca director, apoi cad înapoi la afișarea unei 404.
try_files $ uri $ uri / = 404;
>

În general, despre ce vorbim Nginx - este (1) asculta pe portul 80, (2) acordă prioritate fișierelor cu o viteză mai mare de 512 kilobiți pe secundă, (3), în cazul de eroare 403 sau 404 pentru a redirecționa către gazdă specificat, (4 ) Să-l fișiere din directorul / var / www, (5), în cazul în care utilizatorul a solicitat un catalog, și are un fișier numit index.html sau index.htm, da fișierul. Nu e greu, nu?

Luați în considerare un alt exemplu. Să presupunem că aplicația să se rotească în AWS și comunică cu lumea prin vebsoketov. Doriți să criptați traficul utilizând SSL. Nici o problemă:

harta $ http_upgrade $ connection_upgrade implicit de upgrade;
„“ Închide;
>

amonte localhost server de WebSocket: 1234;
>

ssl pe;
/etc/nginx/nginx.crt ssl_certificate;
/etc/nginx/nginx.key ssl_certificate_key;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH: aNULL: MD5 sau HIGH: aNULL: MD5: 3DES !!!!!";
ssl_prefer_server_ciphers pe;

Aici am Gauvreau Nginx putea (1) asculta pe portul 443 și redirecționează toate cererile de localhost: 1234 (2) pentru transmiterea către utilizator pentru a seta antetul cu IP, (3), pentru a activa SSL, fără SSLv3 neetanșe. (4) să aloce 100 MB de memorie pentru sesiunea SSL.

În cele din urmă, ultimul exemplu. REST-serviciu se transformă în Hetzner, dă JSON de date, CSV, și generează un flux nesfârșit de evenimente (JSON în codificare de transfer chunked). fluxuri de generare necesită o mulțime de resurse, astfel încât să doriți să traverseze într-un set separat de mașini. De asemenea, doriți să comprimați traficul folosind gzip.

amonte localhost server de service_default: 1234;
>

harta _ service_default $ service_upstream implicit;
>

server de a asculta 80;
chunked_transfer_encoding pe;
proxy_buffering off;
TCP_NODELAY off;
proxy_read_timeout 1800;
proxy_send_timeout 1800;

gzip pe;
gzip_comp_level 6;
gzip_proxied orice;
gzip_types application / json application / x-json-stream;
>

Cred că de acum poți face deja înțelege ce este în joc. În cazul în care, consultați documentația oficială pentru Nginx. E mare și e tot acolo. De asemenea, să acorde o atenție la listele de discuții oficiale.

De fapt, este ceea ce am vrut să spun. Și cum folosiți Nginx?

Ca și postul? Împărtășește cu alții:

articole similare