Nginx+Tomcat搭建高性能負(fù)載均衡集群

原文鏈接

本來說這一篇文章就足夠用了,但是因?yàn)槲覀儗?shí)際的代碼是前后端分離了。我們的是單頁(yè)面應(yīng)用。所以說還有有一點(diǎn)點(diǎn)的不一樣的。我們一般的配置是模型如下圖所示:

但是我們實(shí)際情況是這樣的:


首先我們準(zhǔn)備了兩臺(tái)服務(wù)器

服務(wù)器一:主服務(wù)器,服務(wù)器二:次服務(wù)器

第一步當(dāng)然是安裝環(huán)境了jvm+tomcat+ngnix環(huán)境。兩臺(tái)服務(wù)器都安裝好ngnix和tomcat,具體就不描述如何安裝所需環(huán)境了下面我給出原文地址

在linux系統(tǒng)下安裝ngnix

第二步我們?cè)诜?wù)一中的tomcat中部署后臺(tái)代碼并運(yùn)行,服務(wù)器一中的ngnix配置運(yùn)行前端靜態(tài)頁(yè)面代碼

單頁(yè)面應(yīng)用ngnix配置說明:

server {

#端口號(hào)

listen? ? ? 5000;

#訪問域名

server_name? localhost;

#charset koi8-r;

#access_log? logs/host.access.log? main;

#靜態(tài)頁(yè)面地址

root /usr/local/nginx/html/salary_h5/dist;

#配置入口頁(yè)面

index index.html index.htm;

location ~* \.(?:manifest|appcache|html?|xml|json)$ {

expires -1;

# access_log logs/static.log; # I don't usually include a static log

}

#配置js,css

location ~* \.(?:css|js)$ {

try_files $uri =404;

access_log off;

}

# Any route containing a file extension (e.g. /devicesfile.js)

location ~ ^.+\..+$ {

try_files $uri =404;

}

# Any route that doesn't have a file extension (e.g. /devices)

#解決單頁(yè)面應(yīng)用刷新問題

location / {

try_files $uri $uri/ /index.html;

}

error_page? 500 502 503 504? /50x.html;

location = /50x.html {

root? html;

}

}

第三步我們?cè)诜?wù)器二中的tomcat部署運(yùn)行后臺(tái)代碼,服務(wù)器二中的ngnix配置后臺(tái)分流

服務(wù)器分流配置

#user? nobody;

#工作進(jìn)程的個(gè)數(shù),一般與計(jì)算機(jī)的cpu核數(shù)一致

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 {

#單個(gè)進(jìn)程最大連接數(shù)(最大連接數(shù)=連接數(shù)*進(jìn)程數(shù))

worker_connections? 1024;

}

http {

#文件擴(kuò)展名與文件類型映射表

include? ? ? mime.types;

#默認(rèn)文件類型

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指令指定nginx是否調(diào)用sendfile函數(shù)來輸出文件,對(duì)于普通應(yīng)用設(shè)為 on,如果用來進(jìn)行下載等應(yīng)用磁盤IO重負(fù)載應(yīng)用,可設(shè)置為off,以平衡磁盤與網(wǎng)絡(luò)I/O處理速度,降低系統(tǒng)的負(fù)載。注意:如果圖片顯示不正常把這個(gè)改成off。

sendfile? ? ? ? on;

#tcp_nopush? ? on;

#keepalive_timeout? 0;

#長(zhǎng)連接超時(shí)時(shí)間,單位是秒

keepalive_timeout? 65;

#啟用Gizp壓縮

#gzip? on;

#==================================================================================

#服務(wù)器集群 a.server.com;為集群服務(wù)器名

upstream a.server.com;{

#服務(wù)器1 weight是權(quán)重的意思,權(quán)重越大,分配的概率越大。

server 服務(wù)器:端口?weight=2;

#服務(wù)器2

server 服務(wù)器2:端口號(hào)?weight=1;

}

server {

#端口號(hào)

listen? ? ? 8888;

#訪問域名

server_name ?提供給前端使用的域名

location / {

#交給名字為infud.server.com的集群去處理

proxy_pass http://a.server.com;

proxy_redirect default;

}

#=====================================================================================

第四步,將服務(wù)器二中ngnix配置分流后的ip地址提供前端調(diào)用。這樣就能實(shí)現(xiàn)分流了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Nginx+Tomcat搭建 http://blog.csdn.net/wang379275614/article...
    huangxiongbiao閱讀 200評(píng)論 0 0
  • 1.ngnix介紹 ngnix www服務(wù)軟件 俄羅斯人開發(fā) 開源 性能很高 本身是一款靜態(tài)WWW軟件 靜態(tài)小文件...
    逗比punk閱讀 2,257評(píng)論 1 6
  • 配置運(yùn)行Nginx服務(wù)器用戶(組) 用于配置運(yùn)行Nginx服務(wù)器用戶(組)的指令是user,其語(yǔ)法格式為: use...
    吃瓜的東閱讀 4,689評(píng)論 0 41
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,697評(píng)論 19 139
  • 無(wú)盡的夜晚,總有星光飄下 像蝴蝶落于花般 飄落女子身旁 熠熠其華 黑暗中 風(fēng)聲急促 命運(yùn)是另一道光 貫穿整片深邃幽...
    阿琴姑娘閱讀 905評(píng)論 27 91

友情鏈接更多精彩內(nèi)容