Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
start:nginx [2018/11/05 19:04] domenge |
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 a mantuns servidors web. | + | 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 ===== | ===== Exemples sul malhum ===== | ||
Ligne 26: | Ligne 26: | ||
</file> | </file> | ||
===== Nòstre cas es diferent ===== | ===== 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 troba que Nginx es son prètzfach. Doncas per cada machina virtuala avèm un servidor web, ''apache2.4'' o ''flask'' o ''SolR'' o //whatever//.\\ | + | Çò 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 . | + | 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> | <file> | ||
Ligne 34: | Ligne 34: | ||
worker_processes 1; | worker_processes 1; | ||
- | # This default error log path is compiled-in to make sure configuration parsing | + | # ... |
- | # errors are logged somewhere, especially during unattended boot when stderr | + | |
- | # isn't normally logged anywhere. This path will be touched on every nginx | + | |
- | # start regardless of error log location configured here. See | + | |
- | # https://trac.nginx.org/nginx/ticket/147 for more info. | + | |
- | # | + | |
#error_log /var/log/nginx/error.log; | #error_log /var/log/nginx/error.log; | ||
# | # | ||
Ligne 55: | Ligne 50: | ||
default_type application/octet-stream; | default_type application/octet-stream; | ||
- | #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' | + | # ... |
- | # '$status $body_bytes_sent "$http_referer" ' | + | |
- | # '"$http_user_agent" "$http_x_forwarded_for"'; | + | |
- | + | ||
- | #access_log logs/access.log main; | + | |
sendfile on; | sendfile on; | ||
Ligne 74: | Ligne 65: | ||
</file> | </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> | ||
+ | |||