This shows you the differences between two versions of the page.
|
saisp:labs:09:contents:06 [2014/05/05 00:45] razvan.deaconescu |
saisp:labs:09:contents:06 [2014/05/05 13:02] (current) razvan.deaconescu |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ==== 06. Servire de mai multe servere ==== | + | ==== 06. [15p] Servire de mai multe servere ==== |
| Dorim ca serviciul Varnish să accelereze accesul web atât către serverul web din mașina virtuală ''web'' cât și către ''ocw.cs.pub.ro''. Pentru aceasta trebuie să fie configurate două back end-uri. | Dorim ca serviciul Varnish să accelereze accesul web atât către serverul web din mașina virtuală ''web'' cât și către ''ocw.cs.pub.ro''. Pentru aceasta trebuie să fie configurate două back end-uri. | ||
| Line 8: | Line 8: | ||
| Porniți de la [[https://www.varnish-cache.org/docs/3.0/tutorial/advanced_backend_servers.html|documentația Varnish]]. | Porniți de la [[https://www.varnish-cache.org/docs/3.0/tutorial/advanced_backend_servers.html|documentația Varnish]]. | ||
| </note> | </note> | ||
| + | |||
| + | <solution -hidden> | ||
| + | Configurăm serviciul Varnish pentru a folosi două back end-uri: back end-ul ''default'' servește conținut de pe serverul de pe mașina virtuală ''web'', iar back end-ul ''ocw'' servește conținut de pe sistemul ''ocw.cs.pub.ro''. Configurația o realizăm în fișierul ''/etc/varnish/default.vcl'':<code> | ||
| + | root@varnish:~# vi /etc/varnish/default.vcl | ||
| + | root@varnish:~# cat /etc/varnish/default.vcl | ||
| + | [...] | ||
| + | backend default { | ||
| + | .host = "192.168.0.2"; | ||
| + | .port = "80"; | ||
| + | } | ||
| + | backend ocw { | ||
| + | .host = "ocw.cs.pub.ro"; | ||
| + | .port = "80"; | ||
| + | } | ||
| + | [...] | ||
| + | </code> | ||
| + | Apoi configurăm în același fișier ca cererile care încep cu ''/courses/'' să fie servite de back end-ul ''ocw'' iar celelalte de back end-ul ''default'':<code> | ||
| + | root@varnish:~# cat /etc/varnish/default.vcl | ||
| + | [...] | ||
| + | sub vcl_recv { | ||
| + | if (req.url ~ "^/courses/") { | ||
| + | set req.backend = ocw; | ||
| + | } else { | ||
| + | set req.backend = default; | ||
| + | } | ||
| + | } | ||
| + | [...] | ||
| + | </code> | ||
| + | Pe stația gazdă (''mjolnir'') configurăm, din nou, adresa IP a mașinii virtuale ''varnish'' ca adresă pentru ''ocw.cs.pub.ro'':<code bash> | ||
| + | student@mjolnir:~$ sudo vi /etc/hosts | ||
| + | student@mjolnir:~$ cat /etc/hosts | ||
| + | [...] | ||
| + | 192.168.0.3 ocw.cs.pub.ro | ||
| + | [...] | ||
| + | </code> | ||
| + | Acum, din browserul de pe stația gazdă (''mjolnir'') putem să accesăm informații de pe ''ocw.cs.pub.ro'' (care conțin ''/courses/'') și de pe serverul web de pe mașina virtuală ''web'' folosind adresa ''192.168.0.3''. | ||
| + | </solution> | ||