国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

nginx實現tomcat動靜分離詳解

2024-08-30 12:25:33
字體:
來源:轉載
供稿:網友

1.為什么要實現動靜分離

1)nginx的處理靜態資源能力超強

主要是nginx處理靜態頁面的效率遠高于tomcat的處理能力,如果tomcat的請求量為1000次,則nginx的請求量為6000次,tomcat每秒的吞吐量為0.6M,nginx的每秒吞吐量為3.6M,可以說,nginx處理靜態資源的能力是tomcat處理能力的6倍,優勢可見一斑。

2)動態資源和靜態資源分開,使服務器結構更清晰。

2.動靜分離原理

服務端接收來自客戶端的請求中,有一部分是靜態資源的請求,例如html,css,js和圖片資源等等,有一部分是動態數據的請求。因為tomcat處理靜態資源的速度比較慢,所以我們可以考慮把所有靜態資源獨立開來,交給處理靜態資源更快的服務器例如nginx處理,而把動態請求交給tomcat處理。

如下圖所示,我們在機器上同時安裝了nginx和tomcat,把所有的靜態資源都放置在nginx的webroot目錄下面,把動態請求的程序都放在tomcat的webroot目錄下面,當客戶端訪問服務端的時候,如果是靜態資源的請求,就直接到nginx的webroot目錄下面獲取資源,如果是動態資源的請求,nginx利用反向代理的原理,把請求轉發給tomcat進行處理,這樣就實現了動靜分離,提高了服務器處理請求的性能。

3.動靜分離的詳細配置

1)首先熟悉下nginx的重要配置文件nginx.conf

user nginx; worker_processes 1; error_log logs/error.log; pid    logs/nginx.pid; events {   worker_connections 1024; } http {   include    mime.types;   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;   keepalive_timeout 65;   #gzip壓縮功能設置   gzip on;   gzip_min_length 1k;   gzip_buffers  4 16k;   gzip_http_version 1.0;   gzip_comp_level 2;   gzip_types text/plain application/x-javascripttext/css application/xml;   gzip_vary on;   server {     listen    80;     server_name www.test.com;     location / {   #jsp網站程序根目錄,一般nginx與tomcat在同一個目錄       root /usr/local/tomcat/webapps/ROOT;       index index.html index.jsp index.html;     }     location ~ .*.jsp$ {     index index.jsp;     proxy_pass http://127.0.0.1:8080;  #來自jsp請求交給tomcat處理     proxy_redirect off;     proxy_set_header Host $host;  #后端的Web服務器可以通過X-Forwarded-For獲取用戶真實IP     proxy_set_header X-Real-IP $remote_addr;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     client_max_body_size 10m;  #允許客戶端請求的最大單文件字節數     client_body_buffer_size 128k; #緩沖區代理緩沖用戶端請求的最大字節數     proxy_connect_timeout 90;  #nginx跟后端服務器連接超時時間(代理連接超時)     proxy_read_timeout 90;   #連接成功后,后端服務器響應時間(代理接收超時)     proxy_buffer_size 4k;    #設置代理服務器(nginx)保存用戶頭信息的緩沖區大小     proxy_buffers 6 32k;    #proxy_buffers緩沖區,網頁平均在32k以下的話,這樣設置     proxy_busy_buffers_size 64k;#高負荷下緩沖大?。╬roxy_buffers*2)     proxy_temp_file_write_size 64k; #設定緩存文件夾大小,大于這個值,將從upstream服務器傳     }     location ~ .*/.(gif|jpg|png|bmp|swf)$  #由nginx處理靜態頁面     {     expires 30d;  #使用expires緩存模塊,緩存到客戶端30天     }     location ~ .*/.( jsp|js|css)?$     {     expires 1d;     }     error_page 404       /404.html;  #錯誤頁面     error_page  500 502 503 504 /50x.html;     location = /50x.html {       root  html;     }   }             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三明市| 固始县| 莆田市| 宝山区| 额济纳旗| 新化县| 来宾市| 新竹市| 合阳县| 始兴县| 白城市| 上林县| 会泽县| 收藏| 景宁| 丽江市| 临沂市| 徐州市| 平山县| 万山特区| 杭锦旗| 麻阳| 仪征市| 井冈山市| 西盟| 丰宁| 丽水市| 平凉市| 新巴尔虎右旗| 十堰市| 中江县| 百色市| 分宜县| 舒城县| 昌邑市| 开鲁县| 栖霞市| 栖霞市| 阜新市| 锡林郭勒盟| 衡阳县|