溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行Nginx反向代理與服務(wù)器的配置緩沖

發(fā)布時(shí)間:2021-11-18 10:57:24 來源:億速云 閱讀:136 作者:柒染 欄目:web開發(fā)

本篇文章為大家展示了如何進(jìn)行Nginx反向代理與服務(wù)器的配置緩沖,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

Nginx反向代理關(guān)于對(duì)后端服務(wù)器的配置。對(duì)于廣大的網(wǎng)管員來說nginx反向代理是必修的一門課。下面我們就來看看有關(guān)的內(nèi)容。有三個(gè)后端服務(wù),一個(gè)為web內(nèi)容服務(wù),一個(gè)是論壇服務(wù),一個(gè)為文件服務(wù)。

當(dāng)一個(gè)請(qǐng)求來時(shí),nginx代理服務(wù)器其查看url把請(qǐng)求定向到相應(yīng)的服務(wù)器,這個(gè)配置也緩沖文件服務(wù)的內(nèi)容,但是論壇的和數(shù)據(jù)下載的內(nèi)容就不緩存了,這個(gè)配置也使用了壓縮,更好的節(jié)省內(nèi)存

  1. #######################################################  

  2. ### Calomel.org /etc/nginx.conf BEGIN  

  3. #######################################################  

  4. pid /var/run/nginx.pid;  

  5. user nginx nginx;  

  6. worker_processes 10;  

  7. events {  

  8. worker_connections 1024;  

  9. }  

  10. http {  

  11. ## MIME types  

  12. #include /etc/nginx_mime.types;  

  13. default_type application/octet-stream;  

  14. ## Size Limits  

  15. client_body_buffer_size 128K;  

  16. client_header_buffer_size 128K;  

  17. client_max_body_size 1M;  

  18. large_client_header_buffers 1 1k;  

  19. ## Timeouts  

  20. client_body_timeout 60;  

  21. client_header_timeout 60;  

  22. expires 24h;  

  23. keepalive_timeout 60 60;  

  24. send_timeout 60;  

  25. ## General Options  

  26. ignore_invalid_headers on;  

  27. keepalive_requests 100;  

  28. limit_zone gulag $binary_remote_addr 5m;  

  29. recursive_error_pages on;  

  30. sendfile on;  

  31. server_name_in_redirect off;  

  32. server_tokens off;  

  33. ## TCP options  

  34. tcp_nodelay on;  

  35. tcp_nopush on;  

  36. ## Compression  

  37. gzip on;  

  38. gzip_buffers 16 8k;  

  39. gzip_comp_level 6;  

  40. gzip_http_version 1.0;  

  41. gzip_min_length 0;  

  42. gzip_types text/plain text/css image/x-icon application/x-perl 
    application/x-httpd-cgi;  

  43. gzip_vary on;  

  44. ## Log Format  

  45. log_format main '$remote_addr $host $remote_user [$time_local] 
    "$request" '  

  46. '$status $body_bytes_sent "$http_referer" "$http_user_agent" '  

  47. '"$gzip_ratio"';  

  48. ## Proxy options  

  49. proxy_buffering on;  

  50. proxy_cache_min_uses 3;  

  51. proxy_cache_path /usr/local/nginx/proxy_temp/ levels=1:2 
    keys_zone=cache:10m inactive=10m max_size=1000M;  

  52. proxy_cache_valid any 10m;  

  53. proxy_ignore_client_abort off;  

  54. proxy_intercept_errors on;  

  55. proxy_next_upstream error timeout invalid_header;  

  56. proxy_redirect off;  

  57. proxy_set_header X-Forwarded-For $remote_addr;  

  58. proxy_connect_timeout 60;  

  59. proxy_send_timeout 60;  

  60. proxy_read_timeout 60;  

  61. ## Backend servers (web1 is the primary and web2 will 
    come up if web1 is down)  

  62. upstream webbackend {  

  63. server web1.domain.lan weight=10 max_fails=3 fail_timeout=30s;  

  64. server web2.domain.lan weight=1 backup;  

  65. }  

  66. server {  

  67. access_log /var/log/nginx/access.log main;  

  68. error_log /var/log/nginx/error.log;  

  69. index index.html;  

  70. limit_conn gulag 50;  

  71. listen 127.0.0.1:80 default;  

  72. root /usr/local/nginx/html;  

  73. server_name _;  

  74. ## Only requests to our Host are allowed  

  75. if ($host !~ ^(mydomain.com|www.mydomain.com)$ ) {  

  76. return 444;  

  77. }  

  78. ## Only allow these request methods  

  79. if ($request_method !~ ^(GET|HEAD|POST)$ ) {  

  80. return 444;  

  81. }  

  82. ## Only allow these file types to document root  

  83. location / {  

  84. if ($request_uri ~* (^\/|\.html|\.jpg|\.pl|\.png|\.css|\.
    ico|robots\.txt)$ ) {  

  85. break;  

  86. }  

  87. return 444;  

  88. }  

  89. ## PROXY - Forum   

  90. location /forum/ {  

  91. proxy_pass http://forum.domain.lan/forum/;  

  92. }  

  93. ## PROXY - Data  

  94. location /files/ {  

  95. proxy_pass http://data.domain.lan/;  

  96. }  

  97. ## PROXY - Web  

  98. location / {  

  99. proxy_pass http://webbackend;  

  100. proxy_cache cache;  

  101. proxy_cache_valid 200 24h;  

  102. proxy_cache_use_stale error timeout invalid_header updating 
    http_500 http_502 http_503 http_504;  

  103. proxy_ignore_headers Expires Cache-Control;  

  104. }  

  105. ## All other errors get the generic error page  

  106. error_page 400 401 402 403 404 405 406 407 408 409 410 411 
    412 413 414 415 416 417  

  107. 500 501 502 503 504 505 506 507 /error_page.html;  

  108. location /error_page.html {  

  109. internal;  

  110. }  

  111. }  

  112. }  

  113. #  

  114. #######################################################  

  115. ### Calomel.org /etc/nginx.conf END  

  116. #######################################################  

上述內(nèi)容就是如何進(jìn)行Nginx反向代理與服務(wù)器的配置緩沖,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI