使用Nginx搭建Tomcat高性能負載均衡集群的最詳細例子

Nginx Tomcat Apache Windows 7 從頭開始自學java 2017-05-17

下載Nginx

使用Nginx搭建Tomcat高性能負載均衡集群的最詳細例子

Nginx官網

Nginx目前最新版本是1.13.0,不是穩定版本,這裡下載的是nginx-1.12.0。

使用Nginx搭建Tomcat高性能負載均衡集群的最詳細例子

進入Nginx下載頁面

選擇Nginx Windows版本進行下載。

解壓之後如下:

使用Nginx搭建Tomcat高性能負載均衡集群的最詳細例子

ngix-1.12.0解壓之後的情況

下載tomcat

使用Nginx搭建Tomcat高性能負載均衡集群的最詳細例子

進入tomcat官網下載tomcat

我是win7 64位操作系統,所以選擇下載64-bit Windows zip。

下面是演示瞭如何查看系統版本:

使用Nginx搭建Tomcat高性能負載均衡集群的最詳細例子

如何查看操作系統的版本

實戰——解壓拷貝出三個tomcat

使用Nginx搭建Tomcat高性能負載均衡集群的最詳細例子

實戰——修改三個tomcat服務器的端口(conf目錄下的server.xml)

tomcat有三個端口,都需要修改,每個端口的具體作用如下圖所示:

server1(apache-tomcat-9.0.0.M21_server1\conf\server.xml)

使用Nginx搭建Tomcat高性能負載均衡集群的最詳細例子

修改tomcat server1的端口

server2(apache-tomcat-9.0.0.M21_server2\conf\server.xml)

使用Nginx搭建Tomcat高性能負載均衡集群的最詳細例子

第二個tomcat服務器端口

server3(apache-tomcat-9.0.0.M21_server3\conf\server.xml)

使用Nginx搭建Tomcat高性能負載均衡集群的最詳細例子

第三個tomcat服務器修改端口

實戰——修改三個tomcat服務器的默認頁面

apache-tomcat-9.0.0.M21_server1\webapps\ROOT\index.jsp Server 1

apache-tomcat-9.0.0.M21_server2\webapps\ROOT\index.jsp Server 2

apache-tomcat-9.0.0.M21_server3\webapps\ROOT\index.jsp Server 3

實戰——啟動三個tomcat服務器進行測試

apache-tomcat-9.0.0.M21_server1\bin\startup.bat

apache-tomcat-9.0.0.M21_server2\bin\startup.bat

apache-tomcat-9.0.0.M21_server3\bin\startup.bat

使用Nginx搭建Tomcat高性能負載均衡集群的最詳細例子

啟動三個tomcat通過瀏覽器訪問

實戰———配置Nginx(nginx-1.12.0\conf\nginx.conf)

使用Nginx搭建Tomcat高性能負載均衡集群的最詳細例子

實戰———啟動Nginx

使用Nginx搭建Tomcat高性能負載均衡集群的最詳細例子

啟動Nginx

實戰———測試

使用Nginx搭建Tomcat高性能負載均衡集群的最詳細例子

附——Nginx參數的講解 全局

# 運行Nginx的用戶和用戶組

#user nobody nobody;

#Nginx啟動多少個進程,最好跟計算機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;

附——Nginx參數的講解 等待事件

#等待事件

events {

# 每個進程最大的連接數(總的連接數=worker_connections*worker_processes)

worker_connections 1024;

}

附——Nginx參數的講解 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;

#設定請求緩衝

client_header_buffer_size 1k;

large_client_header_buffers 4 4k;

#高效文件傳輸模式,指定是否調用sendfile函數來傳輸文件,一般的應用都建議啟用。

sendfile on;

# 長連接超時時間,單位秒

keepalive_timeout 65;

#客戶端上傳文件大小控制

client_max_body_size 8m;

# 是否啟用壓縮傳輸

#gzip on;

}

附——Nginx參數的講解 HTTP中的集群

#服務器的集群列表

upstream CLUSTER_NAME { #CLUSTER_NAME是服務器集群的名字

# 要轉發的服務器列表 weight權重越大,更多概率被分配到。

server 127.0.0.1:18080 weight=1;

server 127.0.0.1:28080 weight=2;

server 127.0.0.1:38080 weight=1;

}

附——Nginx參數的講解 HTTP中虛擬機的配置

# 第一個虛擬主機

server {

listen 80;# 端口

server_name localhost;# 主機名

location / {

proxy_pass http://CLUSTER_NAME;

proxy_redirect default;

}

location ~ .*\.(js|css|ico|png|jpg|eot|svg|ttf|woff) {

#所有靜態文件直接讀取硬盤

root tomcat7/webapps/Root/WEB-INF;

expires 30d; #緩存30天

}

}

相關推薦

推薦中...