Nginx: Difference between revisions
Line 159: | Line 159: | ||
|- | |- | ||
| Limit Requests | | Limit Requests | ||
| Limiteerib ühenduste sageduse | | Limiteerib ühenduste sageduse klientilt | ||
| 0.7.20 | | 0.7.20 | ||
| --without-http_limit_req_module | | --without-http_limit_req_module | ||
|- | |||
| Limit Zone | |||
| Limiteerib samaaegselt ühendused klientilt | |||
| | |||
| --without-http_limit_zone_module | |||
|} | |} | ||
==Lisad== | ==Lisad== | ||
==Kasutatud kirjandus== | ==Kasutatud kirjandus== |
Revision as of 16:45, 6 May 2011
Sissejuhatus
Nginx on tasuta, avatud lähtekoodiga, kõrgjõudlusega HTTP server ja reverse proxy, samuti IMAP/POP3 proxy server. Nginx'i areng algas aastal 2002, esimene avalik väljalase oli aastal 2004 Igor Sysoev poolt. Hetkel on nginx kasutusel ligi 7,65% (22.8M) kõikidest domeenidest üle maailma.
Nginx on tuntud oma suure jõudluse, stabiilsuse, lihtsa seadistamise ja madal ressursside tarbimisega.
Nginx on kirjutatud haldama C10K probleemi (haldama korraga 10000 klienti). Nginx kasutab skaleeritavaid asünkroonnseid arhitektuure. Selline arhitektuur kasutab vähe mälu koormuse all. Isegi kui ei ole soovi samal ajal tuhandeid kliente teenindada saab siiski kasu nginx suure jõudlusest ja väiksest mälukasutusest. Nginx'is on palju võimalusi, kuni klastriteni serveris.
Paigaldamine
Enamik Linuxi ja BSD distrodes on nginx tavalistest pakettides olemas ning neid saab paigaldada vastava distro paigaldus tarkvaraga. Tasub meeles pidada, et need paketid on tihti vanemate versionidega nginx'ist. Uuemate verasioonide saamiseks on soovitatav paigaldada nginx algallikast.
Ubuntu
Kasutajal peavad olema root õigused käskude sisestamiseks. Ubuntu 10.04 ja uuem:
sudo -s nginx=stable # use nginx=development for latest development version add-apt-repository ppa:nginx/$nginx apt-get update apt-get install nginx
Kui tekib viga, et add-apt-repository ei eksisteeri , siis oleks vaja paigaldada python-tarkvara-omadused.
Teiste Debian / Ubuntu põhinevatel distributsioonide kasutamisel, võib proovida PPA varianti, mis kõige tõenäolisemalt töötab vanemate pakettidega.
sudo -s nginx=stable # use nginx=development for latest development version echo "deb http://ppa.launchpad.net/nginx/$nginx/ubuntu lucid main" > /etc/apt/sources.list.d/nginx-$nginx-lucid.list apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C300EE8C apt-get update apt-get install nginx
Win32 Binaries
Alates versioonist 0.8.50 on nginx'is saadaval ka windowsi binaarfailid. Windowsi versioon on saadaval ainult binaarfailidena. Paigaldamine:
cd c:\ unzip nginx-1.0.1.zip ren nginx-1.0.1 nginx cd nginx start nginx
Probleemide puhul võib vaadata logifaili c:\nginx\logs\error.log.
Paigaldamine algallikast
Pärast algallika lahtipakkimist on vaja käivitada terminalis kolm käsku:
./configure make sudo make install
Nginx paigaldatakse asukohta /usr/local/nginx. Asukohta on muidugi võimalik muuta kompileerimise käigus.
Moodulid
Nginx moodulid tuleb valida kompileerimise ajal. Kõik moodulid vajalikud ning sealhulgas vabatahtlikud moodulid, on kirjas paigaldusjuhendist. Näide:
./configure \ --prefix=/usr \ --sbin-path=/usr/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --user=nginx \ --group=nginx \ --with-http_ssl_module \ --with-http_flv_module \ --with-http_gzip_static_module \ --http-log-path=/var/log/nginx/access.log \ --http-client-body-temp-path=/var/tmp/nginx/client/ \ --http-proxy-temp-path=/var/tmp/nginx/proxy/ \ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/
Kõige uuemad nimekirjad moodulitest ja valikutest on saadaval käsuga: "./configure --help" Nõutud moodulid:
Nimi | Kirjeldus |
---|---|
Main | Muudatuste vigade logimine, protsessid, õigused, jne. |
Events | Muudatuse epoll, kqueue, select, poll, jne. |
Automaatselt lisatud moodulid, kui spetsiaalselt ei ole ära keelatud:
Nimi | Kirjeldus | Versioon | Muudatuse argument keelamiseks |
---|---|---|---|
Core | Muudatuste vigade logimine, protsessid, õigused, jne. | --without-http | |
Access | Lubamine / keelamine IP aadressi põhiselt | --without-http_access_module | |
Auth Basic | HTTP autentimine | --without-http_auth_basic_module | |
Auto Index | Genereerib autmaatselt kaustade listid | --without-http_autoindex_module | |
Browser | Tõlgendab "User-Agent" stringi | --without-http_browser_module | |
Charset | rekodeerima veebilehtesid | --without-http_charset_module | |
Empty GIF | serveerib 1x1 pildi mälust | --without-http_empty_gif_module | |
FastCGI | FastCGI tugi | --without-http_fastcgi_module | |
Geo | Määrab konfigureerimise muutujaid kasutades võtme / väärtuse paare IP-aadressides | --without-http_geo_module | |
Gzip | Gzip vastused | --without-http_gzip_module | |
Headers | Määrab suvalise HTTP vastuse päises. | ||
Index | Kontrollib millised failid on kasutusel indexina | ||
Limit Requests | Limiteerib ühenduste sageduse klientilt | 0.7.20 | --without-http_limit_req_module |
Limit Zone | Limiteerib samaaegselt ühendused klientilt | --without-http_limit_zone_module |