nginx反向代理,動靜態分離,快取
今天工作之餘,繼續拘搗鼓了一下nginx,嘗試了一下,nginx反向代理,動靜態請求分離,以及nginx快取應用,以及使用ngx_cache_purge清除指定URL
一,nginx反向代理配置
#tomcat
Java程式碼- upstream tomcat_server{
- server 127.0.0.1:8080;
- }
- erver{
- listen 80;
- server_name www.wolfdream.com;
- location / {
- proxy_redirect off;
-
proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass http://tomcat_server;
- }
顯然就是使用者訪問www.wolfdream.com(需要設定本地localhost,將www.wolfdream.com指向nginx所在IP)的時候(或將www.wolfdream.com直接寫在nginx所在的IP地址),將請求轉到到後臺的tomcat伺服器,即127.0.0.1:8080,並將請求到的資料轉發給client
二,動靜態請求相分離
神馬意思?圖片,JS,HTML等靜態的東西去訪問一臺專門的伺服器,而動態的請求去訪問另一臺伺服器。就這麼簡單,上例子:
Java程式碼- server {
- listen 192.168.154.128:80;
- server_name image.wolfdream.com;
- index index.html;
- #proxy_pass http://tomcat_server;
- #charset koi8-r;
-
#access_log logs/host.access.log main;
- location / {
- root html;
- #index index.html index.htm;
- proxy_redirect off;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- }
- location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
- {
- valid_referers none blocked 192.168.154.128 192.168.154.1;
- if ($invalid_referer)
- {
- rewrite ^ /403.jpg break;
- }
- if (!-f $request_filename) {
- rewrite ^ /404.jpg last;
- }
- expires 30d;
- }
- #error_page 404 /404.html;
- # redirect server error pages to the static page /50x.html
- #
- error_page 500 502 503 504 /50x.html;
- location = /404.jpg {
- root html;
- }
- }
- tomcat
- upstream tomcat_server{
- server 127.0.0.1:8080;
- }
- server{
- listen 192.168.154.128;
- server_name www.wolfdream.com;
- location / {
- proxy_redirect off;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass http://tomcat_server;
- }
- }
上面這種方式是通過設定不同的域名,可不可以在同一個域名中,通過判斷後綴來將動態與靜態請求相分離呢?
Java程式碼- #tomcat
- upstream tomcat_server{
- server 127.0.0.1:8080;
- }
- server{
- listen 192.168.154.128;
- server_name www.wolf.com;
- location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
- {
- root html;
- }
- location ~ .*\.(jsp|do)$ {
- proxy_redirect off;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass http://tomcat_server;
- }
OK!同一個域名,根據字尾不同,請求不同的服務,實現動態靜態請求相分離。仔細想一想,如果又出現了一種靜態的檔案,比如*.abc ,那難道又去修改那個配製檔案嗎?顯然不太合理,所以可以考慮將所有的表態檔案放在同一個根目錄下面,比如/static那麼可以將上面的靜態頁面請求修改一下:
Java程式碼- location /static
- {
- root html/static;
- }
咦這樣是不是就好一些了,而且檔案的存放也比較有規範了。
三,nginx快取應用
nginx具有web快取服務,proxy_cache,但是有一個問題就是,proxy_cache不能清除指定的URL快取,只能設定URL過期時間,但是有問題,有人就會很快解決問題,nginx第三方模組ngx_cache_purge能清除指定URL。
nginx安裝時需要將ngx_cache_purege載入進去。
Java程式碼- ./configure --user=www --group=www --add-module=/root/dxm/nginx/ngx_cache_purge-1.2
其中,/root/dxm/nginx/ngx_cache_purge-1.2為ngx_cache_purge解壓路徑(附件中提供ngx_cache_purge tar包下載)
現在來一段例項,實現圖片快取:
話說proxy_tem_path,與proxy_cache_path必須在同一個分割槽之下!
Java程式碼- proxy_temp_path /usr/local/nginx/proxy_temp;
- proxy_cache_path /usr/local/nginx/proxy_cache_path levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=1g;
- upstream tomcat_server{
- server 127.0.0.1:8080;
- }
- server{
- listen 192.168.154.128;
- server_name www.wolf.com;
- location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
- {
- proxy_cache cache_one;
- proxy_cache_methods GET HEAD POST;
- proxy_cache_min_uses 1;
- proxy_cache_valid 200 302 10m;
- proxy_cache_valid 404 1m;
- proxy_cache_valid any 1m;
- proxy_cache_key "$host:$server_port$uri$is_args$args";
- proxy_redirect off;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass http://tomcat_server;
- }
- location ~ .*\.(jsp)$ {
- proxy_redirect off;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass http://tomcat_server;
- }
- location ~ /purge(/.*)
- {
- allow 192.168.154.128;
- allow 192.168.154.1;
- deny all;
- proxy_cache_purge cache_one $host:$server_port$1$is_args$args;
- }
恩,靜態頁面快取,動態請求不快取!
大家看一下最後一段的那個purege配置,很顯然,表示哪些IP可以手動清除指定的URL
比如,www.wolfdraem.cn/1.jpg可以訪問到我的圖片,那麼用www.wolfdream.cn/purge/1.jpg 就可以清除圖片快取了。
恩。好了。好像今天是週五了。。。祝大家周未快樂。哈哈。。。。。
相關推薦
nginx反向代理,動靜態分離,快取
今天工作之餘,繼續拘搗鼓了一下nginx,嘗試了一下,nginx反向代理,動靜態請求分離,以及nginx快取應用,以及使用ngx_cache_purge清除指定URL 一,nginx反向代理配置 #tomcat Java程式碼
nginx反向代理走http+https通道,後端走http通道,導致前臺獲取不到後臺https內容的處理
前言: 目前我公司使用的伺服器架構為前臺為nginx反向代理,後端為單臺web伺服器或者叢集,目前的配置是這樣的,nginx反向代理配置了,http和https通道,但是後端伺服器配置為http通道。
nginx反向代理配置(包括ssl,https永久跳轉)
1、web機器配置nginx檔案 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type applicatio
Nginx 與Tomcat 實現動靜態分離、負載均衡
一. Nginx 簡介: Nginx 一個高效能的 HTTP 和反向代理伺服器, 具有很高的穩定性和支援熱部署、模組擴充套件也很容易。當遇到訪問的峰值,或者有人惡意發起慢速連線時,也很可能會導致伺服器實體記憶體耗盡頻繁交換,失去響應,只能重啟伺服器, Nginx 採取了
nginx 反向代理,動靜態請求分離,proxy_cache快取及快取清除
一,nginx反向代理配置 #tomcat Java程式碼 upstream tomcat_server{ server 127.0.0.1:8080; } erver{ listen 80; server_name www.
nginx 反向代理,動靜態請求分離 proxy cache緩存及緩存清除
pre 就會 spa last ddr break 人工 動靜 all 一,nginx反向代理配置 #tomcat 顯然就是用戶訪問www.wolfdream.com(需要設置本地localhost,將www.wolfdream.com指向
nginx反向代理,實現動靜分離
nginx反向代理實現動靜分離nginx反向代理,實現動靜分離nginx反向代理 反向代理(Reverse Proxy)方式是指以代理服務器來接受Internet上的連接請求,然後將請求轉發給內部網絡上的服務器;並將從服務器上得到的結果返回給Internet上請求連接的客戶端,此時代理服務器對外就表現為一個
nginx反向代理html,實現前後端分離部署
前後端分離開發、部署,融到一個專案中部署,修改程式碼部署較為頻繁,前端改動一小點也都需要後端一起打包部署。固想了nginx部署一個代理即可。 下載好nginx後在nginx.conf中增加如下程式碼: server { listen 8082;
運維:nginx反向代理,配置域名解析到伺服器靜態專案
上線網站,由於還沒有寫後臺,用tomcat掛著很消耗記憶體,於是用nginx代理掛著連線伺服器的專案,簡單介紹域名解析到伺服器靜態專案一、購買域名(騰訊或者阿里購買,最便宜的是阿里的.top,2元一年)此處略二、購買伺服器最近的學生雲,騰訊1c2g、50g 50GSSD一年1
(二)nginx反向代理html,實現前後端分離(部署一套html呼叫多個服務)
上篇部落格是一套頁面呼叫一個後端提供的服務,但是很多時候 我們後端會部署多個服務,為此部署配置一套nginx代理。 可以實現為nginx配置多種策略,如下說明: 負載均衡策略 1、輪詢(預設) 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能
(一)nginx反向代理html,實現前後端分離部署
前後端分離開發、部署,融到一個專案中部署,修改程式碼部署較為頻繁,前端改動一小點也都需要後端一起打包部署。固想了nginx部署一個代理即可。 下載好nginx後在nginx.conf中增加如下程式碼: server { listen 8082
nginx 反向代理,負載均衡,重定向,讀寫分離
一.nginx反向代理 配置檔案nginx.conf 在server裡面增加一條location: location /test { proxy_pas
使用ansible結合keepalived高可用,nginx反向代理部署小型企業環境
ansible自動部署 keepalived高可用 nginx反向代理 mysql數據庫 前言: ansible作為一款靈活、高效、功能豐富的自動化部署工具在企業運維管理中備受推崇。本文演示使用ansible部署小型企業服務框架,實現高可用、負載均衡的目標。如有錯誤敬請賜教。目標環境拓撲
配置Nginx反向代理WebSocket,以代理NoVNC為例
websocket nginx novnc linux 什麽是Nginx?Nginx (engine x) 是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器。Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在
nginx反向代理和正向代理,優缺點
csdn blank http class details targe sha clas gpo http://blog.csdn.net/lishaojun0115/article/details/53200629 nginx反向代理代理的是服務器,正向代理代理的是客
Nginx反向代理與後端服務采用連接池參數分析,長連接減少TIME_WAIT
數據 模型 業務需求 技術 nginx服務器 程序 創建 反向代理 還需 前面已經講過,在使用locust直連後端服務器時,可以通過設置HTTP頭部為keep-alive,並在客戶端斷開連接,減少服務器的連接壓力。因為由客戶端斷開連接,客戶端的連接會變為TIME_WAIT狀
nginx反向代理服務器以及負載均衡,從安裝到配置
配置文件 scripts 退出vim 錯誤碼 重啟 cal logs 點擊 listening nginx的具體作用不用細說,很強大,做負載均衡、反向代理服務器解決前端跨域問題等等。下面是nginx的安裝過程 首先nginx主要的依賴: 1 pcre、 pcre-d
nginx反向代理和rewrite進行解決跨域問題 去掉url中的一部分字串,通過nginx正則生成新的url
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Nginx 反向代理,負載均衡
方向代理: 修改nginx的配置檔案 upstream tomcatS{ server http://144.34.134.37:8080; server http://144.34.134.37:8081 } serve
Nginx反向代理後,tomcat獲取到真實IP的方法
Nginx 修改nginx.conf檔案 location / { proxy_pass http://balance; proxy_redirect off; &nbs