Linux 下 nginx反向代理與負載均衡

前面幾篇記錄下nginx的基本運功,代理服務器的訪問,這里來試驗下nginx的反向代理。

反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個反向代理服務器。

在我們的java項目中的體現就是,通過80端口訪問,Nginx接收到,然后進行轉發給tomcat服務器,再將服務器的結果給返回。

這里需要修改nginx.conf文件。

	upstream backend {#代理的IP weight權重大的,接收的訪問量就大,反之server localhost:8084 weight=50;server localhost:8088 weight=50;}

 將接收的請求進行轉發:

# / 所有做負載均衡 + 反向代理location / {root   /data/wwwroot1;index  index.html index.htm;#索引文件proxy_pass   http://backend;}

 這樣,通過請求nginx的請求,就可以被分配轉發到tomcat上去。這里我是定義了兩臺tomcat服務器,同時用來做負載均衡的處理。通過設置weight,可以控制訪問量。

具體配置代碼如下;

#user  nobody;
# worker 工作進程  一般設置 CPU數 * 核數
worker_processes  1;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;# 設置連接特性 
events {worker_connections  1024;#1個worker產生多少個連接數
}# 配置HTTP服務器的主要段
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;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip壓縮功能設置gzip on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 6;gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;gzip_vary on;#設定負載均衡后臺服務器列表upstream backend {#代理的IP weight權重大的,接收的訪問量就大,反之server localhost:8084 weight=50;server localhost:8088 weight=50;}server {listen       2022;server_name  localhost;charset utf-8;access_log  logs/wwwroot2.access.log main;location / {root   /data/wwwroot2;index  index.html index.htm;#索引文件}}# 虛擬主機段server {listen       80;server_name  localhost;root /data/wwwroot1;charset utf-8;#訪問日志 access_log  logs/wwwroot1.access.log main;# / 所有做負載均衡 + 反向代理location / {root   /data/wwwroot1;index  index.html index.htm;#索引文件proxy_pass   http://backend;}error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {#    deny  all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {#    listen       8000;#    listen       somename:8080;#    server_name  somename  alias  another.alias;#    location / {#        root   html;#        index  index.html index.htm;#    }#}# HTTPS server##server {#    listen       443 ssl;#    server_name  localhost;#    ssl_certificate      cert.pem;#    ssl_certificate_key  cert.key;#    ssl_session_cache    shared:SSL:1m;#    ssl_session_timeout  5m;#    ssl_ciphers  HIGH:!aNULL:!MD5;#    ssl_prefer_server_ciphers  on;#    location / {#        root   html;#        index  index.html index.htm;#    }#}}

 測試結果發現,通過訪問80端口的地址,展現的結果是基本五五開的。

還會隨機訪問到

?

?以上兩個截圖,分別對應了我的兩個tomcat服務器下的測試文件。

?

轉載于:https://www.cnblogs.com/sunxun/p/9965181.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396020.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396020.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396020.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

android 8.1沒聲音,Android 8.1重大改變!耳機孔不見了

原標題:Android 8.1重大改變!耳機孔不見了今天上午,Android Police爆料稱,下一代的Pixel 2將首發Android 8.1。更重要的是,在這個新系統中,谷歌已經做好了放棄3.5mm耳機插口的準備,并將在底層優…

php變量前下滑_PHP變量

變量來源于數學,是計算機語言中能儲存計算結果或能表示值抽象概念。變量可以通過變量名訪問。變量是存儲數據的“容器”。命名規則變量以 $ 符號開始,后面跟著變量的名稱變量名必須以字母或者下劃線字符開始變量名只能包含字母數字字符以及下劃線(A-Z、a…

《計算機科學概論(第12版)》—第0章0.3節學習大綱

本節書摘來自異步社區《計算機科學概論(第12版)》一書中的第0章0.3節學習大綱,作者【美】J. 格倫?布魯克希爾(J. Glenn Brookshear) , 丹尼斯?布里羅(Dennis Brylow),更多章節內容可以訪問云棲…

blued停止郵箱注冊_停止讓我注冊!

blued停止郵箱注冊by Conor Sheehan由Conor Sheehan 停止讓我注冊! (Stop Making Me Sign Up!) Installing a new app can be exciting. When you’ve found one that may be just what you need, opening it is like unboxing a new toy. So why do so many apps …

Android Sutido 編譯速度優化

雖然Android Studio 此時已經更新到了Android Studio 2.1版本,build 版本android-studio-bundle-143.2739321。但是在安裝該版本都是根據自己的標準進行安裝,所以需要在安裝之后進行一系列的調整。下面文章根據3個方面進行講解。分別為Android Studio本身…

卷積神經網絡計算題試題_卷積神經網絡的計算

轉自:https://zhuanlan.zhihu.com/p/631747741. 卷積卷積神經網絡中的卷積是指定義好卷積核(kernel),并對圖像(或者特征圖,feature map)進行滑動匹配,即對應位置相乘再相加。其特點就在于能夠捕捉局部的空間特征。具體過程如下圖所…

html字符串轉換jsx,javascript – 將React.element轉換為JSX字符串

我正在嘗試構建一個組件,>帶孩子和>渲染DOM中的子項,以及>出于文檔的目的,在pre中顯示子DOM一種解決方案是將JSX作為單獨的prop傳遞.這使得它重復,因為我已經能夠通過this.props.children訪問它.理想情況下,我只需要以某種方式將子prop轉換為字符串,以便我可以在pre中…

Leetcode:0002(兩數之和)

LeetCode:0002(兩數之和) 題目描述:給定兩個非空鏈表來表示兩個非負整數。位數按照逆序方式存儲,它們的每個節點只存儲單個數字。將兩數相加返回一個新的鏈表。你可以假設除了數字 0 之外,這兩個數字都不會…

《Excel 職場手冊:260招菜鳥變達人》一第 13 招 利用數據驗證給單元格添加注釋,不用批注...

本節書摘來異步社區《Excel 職場手冊:260招菜鳥變達人》一書中的第1章,第13節,作者: 聶春霞 , 佛山小老鼠 責編: 王峰松,更多章節內容可以訪問云棲社區“異步社區”公眾號查看。 第 13 招 利用數據驗證給單…

招銀網絡筆試java_春招|招銀網絡Java軟件開發 電話面試+一二三面面經

電話面試:1.自我介紹2.介紹項目經歷(我介紹的時候說了用到spring,spring MVC和hibernate框架)3.為什么用spring框架,有什么優點4.詳細說下aop5.解釋下IOC,IOC有什么好處6.spring MVC的運行流程7.spring除了注解注入還有什么方式8.hibernate框…

Numpy and Pandas

安裝 視頻鏈接:https://morvanzhou.github.io/tutorials/data-manipulation/np-pd/ pip install numpy pip install pandas Numpy 學習 Numpy屬性 import numpy as nparray np.array([[1,2,3],[2,3,4]]) print(array) print(number of dim:,array.ndim)//幾維度 pr…

認證android retrofit,Retrofit之項目介紹

項目介紹官網對retrofit介紹是這是一個"類型安全(type-safe)"的Android/Java http客戶端. 目前retrofit的最新正式版本為1.9.0. 2.0版本預計2015年底發布, 相較于之前版本, 2.0版本在架構上做了很大改變, 本文代碼相關的內容都是基于retrofit2.0-beta2.注: 在編程語言…

層次聚類算法 算法_聚類算法簡介

層次聚類算法 算法Take a look at the image below. It’s a collection of bugs and creepy-crawlies of different shapes and sizes. Take a moment to categorize them by similarity into a number of groups.看看下面的圖片。 它是各種形狀和大小的錯誤和令人毛骨悚然的爬…

.h .dll .lib

.h為對一個函數的聲明引用,include就是聲明某個文件里的函數(內只有聲明函數被引用了),編譯時使用 .lib為鏈接時用的,存放的是對于DLL里函數的位置信息等,這樣不必把所有dll里函數都加載到內存里&#xff0…

《機器人學經典教程》——2.2 控制論

本節書摘來異步社區《機器人學經典教程》一書中的第2章,第2.2節,作者:【美】Maja J. Matari?(馬婭?馬塔里奇),更多章節內容可以訪問云棲社區“異步社區”公眾號查看。 2.2 控制論 隨著控制理論的不斷發展…

嗶哩嗶哩網站前端源碼_分享一個仿制嗶哩嗶哩鏡子網站源碼

我老婆非常喜歡看嗶哩嗶哩,前些天她興奮地和我說嗶哩嗶哩網站有個隱藏的彩蛋,傳送門http://www.ilidilid.com/,我看了下,相當于把鏡子中的網站樣子弄出來了。于是,我尋思著,把自己的博客也弄個這樣的彩蛋&a…

promise-async-await

通常而言,這3個關鍵字 都是用來「優雅」的處理ajax異步請求的 //es6的時候promise誕生,很好的解決了嵌套回調地獄,改良方案為鏈式回調。// es2017的時候誕生了async、await,這下異步直接沒有回調了,像同步一樣爽//沒有…

第一沖刺階段博客檢查

我們檢查的團隊是:紅鳥 ①團隊博客: 該團隊將所有的站立會議均寫到了4月28日的一篇博客中,并且其中任務看板和燃盡圖不全。 ②團隊成員個人博客: 1>張曉晨: 沒有每天個人工作總結。 2>王曉思: 從4.19…

netcore 編譯 html,Asp.Net Core中的@ Html.Action

小編典典更新:從2.2.2版本開始,HttpContextAccessor將上下文保留在一個對象中(據說是為了防止請求之間的混淆),這會影響當前解決方案…因此,您需要為IHttpContextAccessor(舊版本)提供以下實現并進行注冊作為一個單例:…

《CCIE路由和交換認證考試指南(第5版) (第1卷)》——1.6節虛擬交換系統

本節書摘來自異步社區《CCIE路由和交換認證考試指南(第5版) (第1卷)》一書中的第1章,第1.6節虛擬交換系統,作者 【美】Narbik Kocharians(那比克 科查理安) , 【斯洛伐克】Peter Pal…