Differences

This shows you the differences between two versions of the page.

Link to this comparison view

saisp:labs:09:contents:08 [2014/04/28 16:00]
razvan.deaconescu created
saisp:labs:09:contents:08 [2014/05/05 15:43] (current)
razvan.deaconescu
Line 1: Line 1:
-==== 08. [BONUS] Configurare Nginx ca reverse proxy ====+==== 08. [BONUS ​- 10p] Configurare Nginx ca reverse proxy ====
  
-Configurare ​Nginx ca reverse proxy pe ''​varnish.qcow2''; ​analiză comparativă între ​Nginx și Varnish.+Nginx este un server web care poate îndeplini un rol de [[http://​reviewsignal.com/​blog/​2013/​08/​29/​reverse-proxy-and-cache-server-with-nginx/​|reverse proxy and cache server]] la fel ca Varnish. Instalați și configurați Nginx pe stația ​''​varnish''​. 
 + 
 +<note tip> 
 +Nginx ascultă în mod implicit conexiuni pe portul ​''​80''​. Cel mai bine configurați serviciul Varnish să asculte conexiuni pe alt port (''​8080''​ de exemplu). 
 + 
 +Urmăriți și indicațiile de [[http://​serverfault.com/​a/​68160|aici]]. Trebuie să folosiți directiva ''​listen''​ pentru a configura portul pe care ascultă conexiuni Nginx. 
 +</​note>​ 
 + 
 +De pe stația gazdă (''​mjolnir''​) folosiți utilitarul ''​httperf''​ pentru a măsură performanța Nginx ca reverse proxy față de Varnish. 
 + 
 +<​solution -hidden>​ 
 +În primă fază reconfigurăm serviciul Varnish să asculte conexiuni pe portul ''​8080'':<​code>​ 
 +root@varnish:​~#​ vi /​etc/​default/​varnish 
 +root@varnish:​~#​ cat /​etc/​default/​varnish 
 +[...] 
 +DAEMON_OPTS="​-a :8080 \ 
 +             -T localhost:​6082 \ 
 +             -f /​etc/​varnish/​default.vcl \ 
 +             -S /​etc/​varnish/​secret \ 
 +             -s malloc,​256m"​ 
 +[...] 
 +</​code>​ 
 +Apoi repornim serviciul Varnish:<​code>​ 
 +root@varnish:​~#​ service varnish restart 
 +</​code>​ 
 +Instalăm Nginx:<​code>​ 
 +root@varnish:​~#​ apt-get install nginx 
 +</​code>​ 
 +Și apoi configurăm Nginx pentru suport de reverse proxy.<​code>​ 
 +root@varnish:​~#​ vi /​etc/​nginx/​nginx.conf 
 +root@varnish:​~#​ cat /​etc/​nginx/​nginx.conf 
 +[...] 
 +http { 
 + 
 + proxy_cache_path ​ /​var/​www/​cache levels=1:2 keys_zone=my-cache:​8m max_size=1000m inactive=600m; 
 + proxy_temp_path /​var/​www/​cache/​tmp;​ 
 + 
 + server { 
 + listen 80 default_server;​ 
 + location / { 
 + proxy_pass http://​192.168.0.2;​ 
 + proxy_cache my-cache; 
 + proxy_cache_valid ​ 200 302  60m; 
 + proxy_cache_valid ​ 404      1m; 
 +
 +
 +
 +[...] 
 +</​code>​ 
 +Creăm directorul pentru cache:<​code>​ 
 +root@varnish:​~#​ mkdir -p /​var/​www/​cache/​tmp 
 +</​code>​ 
 +Apoi repornim serviciul Nginx:<​code>​ 
 +root@varnish:​~#​ service nginx restart 
 +</​code>​ 
 + 
 +Apoi accesăm, de pe sistemul gazdă (''​mjolnir''​),​ URL-ul http://​192.168.0.3/​ sau http://​192.168.0.3/​data/​. Serverul ​Nginx acționează acum ca un reverse proxy și cache. Urmărim în directorul de cache informațiile cache-uite:<​code bash> 
 +root@varnish:​~#​ ls -R /​var/​www/​cache/​ 
 +/​var/​www/​cache/:​ 
 +c  tmp 
 + 
 +/​var/​www/​cache/​c:​ 
 +01 
 + 
 +/​var/​www/​cache/​c/​01:​ 
 +66c779a629e4b1fee8a183dbdc9ab01c 
 + 
 +/​var/​www/​cache/​tmp:​ 
 +</​code>​ 
 + 
 +Ca să comparăm Nginx cu Varnish ​folosim ''​httperf'':<​code bash> 
 +student@mjolnir:​~$ httperf --server=192.168.0.3 --wsess=2000,​10,​2 --rate 300 --timeout 5 
 +[...] 
 +student@mjolnir:​~$ httperf --server=192.168.0.3 --port=8080 --wsess=2000,​10,​2 --rate 300 --timeout 5 
 +</​code>​ 
 +</​solution>​
saisp/labs/09/contents/08.1398690004.txt.gz · Last modified: 2014/04/28 16:00 by razvan.deaconescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0