Docker部署Nginx、Tomcat集羣

Tomcat集羣由多個tomcat組成,使用Nginx的好處是能夠實現負載均衡和動靜分離。
使用Docker的好處是~~~咱們不須要複雜的配置,只須要執行簡單的命令就能拉取已有的官方docker鏡像,再經過一條命令就能運行咱們的實例了。對於多個Tomcat,咱們使用相同的鏡像,而後使用簡單的命令,就能建立不一樣的tomcat container實例。html

Docker部署Nginx、Tomcat集羣
1.拉去鏡像nginx

$ docker pull tomcat:8-jre8-alpine
$ docker pull nginx:latest
$ docker images

Docker部署Nginx、Tomcat集羣
2.建立tomcat文件夾和webapps的交換文件夾,並建立containerweb

$ docker run --name tomcat1 -p 18080:8080 -v $PWD/webapps:/usr/local/tomcat/webapps  -d tomcat:8-jre8-alpine
# cc8d9b8bc8a90d0768df15f94ae2cb37694021cf637d0610d10eaee669b0d5bad
$ docker run --name tomcat2 -p 28080:8080 -v $PWD/webapps:/usr/local/tomcat/webapps  -d tomcat:8-jre8-alpine
# 711e6a6fd1a3f6d088b8b6f527b9c558114bdd5e1592b03a18cb3abaaaf08815

建立nginx文件夾。chrome

$ docker run --name tmp-nginx-container -d nginx
$ docker cp tmp-nginx-container:/etc/nginx/nginx $PWD/conf
$ docker cp mynginx:/usr/share/nginx/html $PWD/html
$ docker cp mynginx:/var/log/nginx  $PWD/logs
$ docker rm -f tmp-nginx-container

運行nginxdocker

$ docker run -p 80:80 -p 8080:8080 --name mynginx -v $PWD/html:/usr/share/nginx/html -v $PWD/conf:/etc/nginx -v $PWD/logs:/var/log/nginx -d nginx

-p 18080:8080:將容器的8080端口映射到主機的18080端口
-v 掛載目錄
具體參數命令可自行google,都是些簡單的經常使用命令。tomcat

$ docker container ls

Docker部署Nginx、Tomcat集羣

  1. 將本身的項目放入本地的webapps目錄下
    爲了便於區分工程,個人項目主頁獲取了本地的IP和端口,分別使用18080和28080訪問test項目,能夠獲得以下圖所示信息。
    Docker部署Nginx、Tomcat集羣
    Docker部署Nginx、Tomcat集羣
    4.設置Nginx配置文件
    chrome訪問服務器80端口,顯示以下:
    Docker部署Nginx、Tomcat集羣
    Nginx的配置文件是nginx.conf,打開文件夾,發現裏邊並無配置端口等信息,而是有一段:
    include /etc/nginx/conf.d/*.conf;

    這是將conf.d目錄下的全部配置文件所有加入進來。其中這個歡迎頁面的設置就是在其目錄下的一個名叫default.conf的文件中設置的。
    模仿此文件,咱們建立本身的tomcat.conf。
    而後本身配置信息相關信息。
    Docker部署Nginx、Tomcat集羣服務器

  2. 測試
    輸入nginx地址和tomcat server 8080端口.
    Docker部署Nginx、Tomcat集羣
    屢次輸入咱們能夠發現咱們對應的tomcat地址會發生變化,這就是訪問到了不一樣的tomcat。
    Docker部署Nginx、Tomcat集羣6.後期擴展咱們能夠修改不一樣的均衡策略,好比修改weight值,和設置備份服務器等方式來實現不一樣的功能。除了負載均衡,咱們還能夠進行將靜態文件和動態文件進行分離,這也是Nginx的重要功能之一。
相關文章
相關標籤/搜索