Nginx實現javaWeb項目動靜分離

Nginx能夠實現與Tomcat的耦合:html

將靜態頁面請求交給Nginx,動態請求交給後端Tomcat處理。web

將全部請求都交給後端的Tomcat服務器處理,同時利用Nginx自身的負載均衡功能進行多臺Tomcat服務器的負載均衡。正則表達式

1、動態頁面和靜態頁面分離的實例後端

這裏假定Tomcat服務器的IP地址爲192.168.12.130,同時Tomcat服務器開放的服務器端口爲8080。Nginx相關配置代碼以下:服務器

  1. server {   
  2.       listen 80;    
  3.       server_name www.ixdba.net;    
  4.       root /web/www/html;    
  5.     
  6. location /img/ {    
  7.       alias /web/www/html/img/;    
  8. }    
  9.     
  10. location ~ (\.jsp)|(\.do)$ {    
  11.      proxy_pass http://192.168.12.130:8080;    
  12.      proxy_redirect off;    
  13.      proxy_set_header Host $host;    
  14.      proxy_set_header X-Real-IP $remote_addr;    
  15.      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    
  16.      client_max_body_size 10m;    
  17.      client_body_buffer_size 128k;    
  18.      proxy_connect_timeout 90;    
  19.      proxy_send_timeout 90;    
  20.      proxy_read_timeout 90;    
  21.      proxy_buffer_size 4k;    
  22.      proxy_buffers 4 32k;    
  23.      proxy_busy_buffers_size 64k;    
  24.      proxy_temp_file_write_size 64k;    
  25. }    
  26.     
  27. }  
  28.  在這個實例中,首先定義了一個虛擬主機www.ixdba.net,而後經過location指令將/web/www/html/img/目錄下的靜態文件交給Nginx來完成。最後一個location指令將全部以.jsp、.do結尾的文件都交給Tomcat服務器的8080端口來處理,即http://192.168.12.130:8080負載均衡

    須要特別注意的是,在location指令中使用正則表達式後,proxy_pass後面的代理路徑不能含有地址連接,也就是不能寫成http://192.168.12.130:8080/,或者相似http://192.168.12.130:8080/jsp的形式。在location指令不使用正則表達式時,沒有此限制。jsp

相關文章
相關標籤/搜索