1. 程式人生 > >Docker+nginx+tomcat配置負載均衡

Docker+nginx+tomcat配置負載均衡

源碼 eight size 下載源 serve host 輸出 ots wan

本文介紹在Docker上配置簡單的負載均衡,宿主機為CenteOS7,兩個CentOS容器,宿主機安裝Nginx,兩臺容器安裝tomcat7。 在宿主機上安裝啟動nginx http://nginx.org/en/download.html 下載源碼包,編譯安裝 啟動nginx,在瀏覽器中查看http://192.168.0.101 技術分享圖片 技術分享圖片 啟動一個容器並設置端口映射,其中一臺命令如下 docker run -t -i -p 3222:22 -p 3280:80 970633036444 /bin/bash 上面的命令是以標準的bash輸出方式啟動一個容器,設置端口映射,用-p參數,-p 宿主機端口:docker容器端口 ,上面的命令是設置宿主機的3222端口映射到容器的22端口,設置宿主機的3280的端口映射到容器的80端口。 在容器中安裝jre和tomcat7.0,安裝jre rpm -ivh jre-8u101-linux-x64.rpm java -version tar zxvf apache-tomcat-9.0.0.M9-src.tar.gz cd apache-tomcat-9.0.0.M9-src/bin/ sh startup.sh 啟動tomcat,進入解壓目錄,cd到bin目錄,執行命令並輸入如下信息,說明tomcat啟動成功 [root@aeb981d88b99 bin]# sh startup.sh Using CATALINA_BASE: /root/apache-tomcat-9.0.0.M9-src Using CATALINA_HOME: /root/apache-tomcat-9.0.0.M9-src Using CATALINA_TMPDIR: /root/apache-tomcat-9.0.0.M9-src/temp Using JRE_HOME: /usr Using CLASSPATH: /root/apache-tomcat-9.0.0.M9-src/bin/bootstrap.jar:/root/apache-tomcat-9.0.0.M9-src/bin/tomcat-juli.jar Tomcat started. 由於tomcat默認端口是8080,這裏設置的是80端口,所以,需要修改默認端口到80,進入tomcat安裝目錄的conf目錄,用vi打開server.xml文件,將如下配置 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 修改為 <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 同上面的步驟一致,配置另外一臺容器,只是容器啟動時設置的映射端口有所區別,命令如下: docker run -t -i -p 3223:22 -p 3380:80 970633036444 /bin/bash docker inspect --format ‘{{ .NetworkSettings.IPAddress }}‘ 容器ID 查看容器IP 容器配置完成後,剩下的工作就是配置宿主機的Nginx,用來完成負載均衡工作。 進入/etc/nginx目錄,用vim編輯nginx.conf,在http節點中增加如下內容: server { listen 80; server_name 192.168.0.101; location / { proxy_pass http://blance; } } upstream blance{ server localhost:3280 weight=5; server localhost:3380 weight=5; } 首先定義一個upstream,設置web服務器的端口映射和權重,之後定義一個server,監聽80端口,server_name為 192.168.1.106,這是宿主機的ip地址(可配置成域名),“location /” 意思是監聽80端口下的所有請求,並使用上面設置的upstream作為代理。 9.完成以上配置並保存後,在瀏覽器中訪問http://192.168.1.106/hello.html,並刷新頁面,會發現頁面有時顯示 “hello this is 172.17.0.3”,有時顯示“hello this is 172.17.0.2”,說明配置成功,這樣就完成了一個簡單的負載均衡環境的配置。

Docker+nginx+tomcat配置負載均衡