Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
start:nginx [2018/11/05 14:32]
domenge créée
start:nginx [2018/11/09 07:02] (Version actuelle)
domenge [Nginx coma reverse proxy]
Ligne 1: Ligne 1:
 ====== Nginx coma reverse proxy ====== ====== Nginx coma reverse proxy ======
-La tòca d'un ''​reverse proxy''​ es de distribuir las requèstas HTTP e HTTPS +La tòca d'un ''​reverse proxy''​ es de distribuir las requèstas HTTP e HTTPS a mantuns servidors web. Amb aquela foncionalitat es possible lo balanç de carga (//load balancing//​) sià a torn de rotle (//round robin//) o al azard e mai de possibilitats autras . 
 + 
 +===== Exemples sul malhum ===== 
 +Dins los exemples donats sul malhum [[https://​korben.info/​configurer-nginx-reverse-proxy.html|Korben info]] e dins la documentacion de Nginx [[https://​docs.nginx.com/​nginx/​admin-guide/​web-server/​reverse-proxy/​|Nginx reverse proxy]], vesèm pas qu'un exemple ont un site unic es partejat en doas partidas. 
 +  * per los fichièrs estatics, coma los imatges (ex: /img) ; 
 +  * per la partida dinamica del site (ex :*.php). 
 + 
 +<​file>​ 
 +server { 
 +        listen ​  80; 
 +        server_name ​ korben.info;​ 
 +        access_log ​ /​var/​log/​korben.access.log;​ 
 +        error_log ​ /​var/​log/​korben.nginx_error.log debug; 
 +        location / { 
 +                proxy_pass ​        ​http://​127.0.0.1:​8080/;​ 
 +        } 
 + 
 +        location /phpmyadmin { 
 +                proxy_pass ​        ​http://​127.0.0.1:​8080/​phpmyadmin;​ 
 +        } 
 +        error_page ​  500 502 503 504  /​50x.html;​ 
 +        location = /50x.html { 
 +                root   /​var/​www/​nginx-default;​ 
 +
 +</​file>​ 
 +===== Nòstre cas es diferent ===== 
 +Çò que volèm es aver un portal que posquèsse distribuir la carga o las requèstas demest mantuns sites dins cadun sa machina virtuala o sa gabia / //jail//. Se tròba que Nginx es son prètzfach, ansin per cada machina virtuala avèm un servidor web, ''​apache2.4''​ o ''​flask''​ o ''​SolR''​ o //​whatever//​ e son contengut completament dedicat e decoblat.\\ 
 +Doncas farem un blòc ''​server''​ per cada site, entresenharem lo(s) blòc(s) ''​location''​ amb la clausa ''​proxy_pass''​ seguida del parametre ''​upstream''​ (''​backend_wiki''​ o ''​backend_calelh''​). 
 + 
 +<​file>​ 
 + 
 +#user  nobody; 
 +worker_processes ​ 1; 
 + 
 +# ... 
 +#​error_log ​ /​var/​log/​nginx/​error.log;​ 
 +
 + 
 +#pid        logs/​nginx.pid;​ 
 + 
 + 
 +events { 
 +    worker_connections ​ 1024; 
 +
 + 
 + 
 +http { 
 +    include ​      ​mime.types;​ 
 +    default_type ​ application/​octet-stream;​ 
 + 
 +# ... 
 + 
 +    sendfile ​       on; 
 +    #​tcp_nopush ​    on; 
 + 
 +    #​keepalive_timeout ​ 0; 
 +    keepalive_timeout ​ 65; 
 + 
 +    #gzip  on; 
 + 
 +    include conf.d/​*.conf;​ 
 +    include Includes/​*;​ 
 +
 + 
 +</​file>​ 
 +Puèi avèm creat un repertòri ''​conf.d''​ ont metèm los aliasses per los servidors\\ 
 +=== conf.d/​proxy.conf === 
 +<​file>​ 
 +upstream backend_wiki{ 
 +    server 192.168.0.25;​ 
 +
 + 
 +upstream backend_calelh{ 
 +    server 192.168.0.22:​5000;​ 
 +
 +</​file>​ 
 +En fin avèm creat dos repertòris ''​Includes''​ e ''​Excludes''​. Puèi botam un fichièr de l'​extension ''​.conf''​ dins lo repertòri ''​Includes''​ per cada servidor web. Per enebir un servidor, sufís de botar lo fichièr ''​.conf''​ dins lo repertòri ''​Excludes''​ a la mòda de BSD e de tornar enregar nginx . 
 + 
 +=== Includes/​wiki.conf === 
 +<​file>​ 
 +server { 
 +        listen ​      80; 
 +        server_name ​ wiki wiki.macarel.net;​ 
 + 
 +        access_log ​ /​var/​log/​nginx/​wiki.access.log;​ 
 +        error_log ​ /​var/​log/​nginx/​wiki.error.log;​ 
 + 
 +        location / { 
 +                proxy_pass http://​backend_wiki;​ 
 +        } 
 + 
 +        error_page ​  500 502 503 504  /​50x.html;​ 
 +        location = /50x.html { 
 +            root   /​usr/​local/​www/​nginx-dist;​ 
 +        } 
 +
 +</​file>​ 
 +=== Includes/​calelh.conf === 
 +<​file>​ 
 +server { 
 +        listen ​      80; 
 +        server_name ​ calelh calelh.macarel.net;​ 
 + 
 +        access_log ​ /​var/​log/​nginx/​calelh.access.log;​ 
 +        error_log ​ /​var/​log/​nginx/​calelh.error.log;​ 
 + 
 +        location /{ 
 +                proxy_pass http://​backend_calelh;​ 
 +        } 
 + 
 +        error_page ​  500 502 503 504  /​50x.html;​ 
 +        location = /50x.html { 
 +            root   /​usr/​local/​www/​nginx-dist;​ 
 +        } 
 +
 +</​file>​ 
 +=== De doblidar pas === 
 +<​code>​ 
 +#service nginx restart 
 +</​code>​ 
 +<​note>​easy peasy lemon squeezy</​note>​ 
  
start/nginx.1541428368.txt.gz · Dernière modification: 2018/11/05 14:32 par domenge
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0