请选择 进入手机版 | 继续访问电脑版

基于Docker部署Tomcat集群、 Nginx负载平衡 的题目 小结

[复制链接]
查看119 | 回复9 | 2021-9-13 18:09:20 | 显示全部楼层 |阅读模式
目次

写在前面

看完Dokcer干系 的册本 ,恰好 有个项目要如许 搞,以是 本身 训练 一下。

当作一百世一样。这里的道理很明确 :我思故我在,既然我存在,就不能装作不存在。无论怎样 ,我要为本身 负起责任。——王小波《三十而立》


布局 图:

在这里插入图片形貌

这里仅作为一种学习,一样寻常 这种负载的话,

  1. Nginx
复制代码
是放到
  1. 主机侧
复制代码
的,
  1. JavaWeb(Tomcat)
复制代码
应用放到容器里。

结果

在这里插入图片形貌

新建文件夹。

  1. D=uag;mkdir $D;cd $D;mkdir uag_nginx uag_tomcat8;
  2. ls
  3. uag_nginx uag_tomcat8
复制代码

一,Ngixn 镜像制作

  1. cd uag_nginx/
  2. # 用于存放配置文件
  3. mkdir nginx
  4. vim Dockerfile
复制代码

Dockerfile 文件内容

  1. FROM nginx
  2. LABEL maintainer="uag"
  3. ENV REFRESHED_AT 2021-08-27
  4. EXPOSE 8099
复制代码

构建nginx设置 文件内容

这个的设置 文件,在容器运行的时间 通过

  1. -v
复制代码
参数与 容器内部共享。方便后期参数更改

  1. cd ./nginx
  2. vim nginx.conf
复制代码

nginx.conf 设置 文件内容

  1. user nginx;
  2. worker_processes auto;
  3. error_log /var/log/nginx/error.log notice;
  4. pid /var/run/nginx.pid;
  5. daemon off;
  6. events {
  7. worker_connections 1024;
  8. }
  9. http {
  10. include /etc/nginx/mime.types;
  11. default_type application/octet-stream;
  12. log_format main '$upstream_addr - $remote_addr - $remote_user [$time_local] "$request" '
  13. '$status $body_bytes_sent "$http_referer" '
  14. '"$http_user_agent" "$http_x_forwarded_for"';
  15. access_log /var/log/nginx/access.log main;
  16. sendfile on;
  17. #tcp_nopush on;
  18. keepalive_timeout 65;
  19. #gzip on;
  20. include /etc/nginx/conf.d/*.conf;
  21. server {
  22. listen 8099;
  23. server_name localhost;
  24. root /var/www/html/;
  25. index index.html index.htm;
  26. access_log /var/log/nginx/default_access.log main;
  27. error_log /var/log/nginx/default_error.log;
  28. location / {
  29. proxy_pass http://backend;
  30. }
  31. location ~ .* {
  32. proxy_pass http://backend;
  33. proxy_set_header Host $http_host;
  34. proxy_set_header X-Real-IP $remote_addr;
  35. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  36. }
  37. }
  38. # 这里配置负载
  39. upstream backend {
  40. server 172.23.231.190:8069;
  41. server 172.23.231.190:8079;
  42. server 172.23.231.190:8089;
  43. }
  44. }
复制代码

设置 负载:

  1. 172.23.231.190
复制代码
为宿主机IP,8069,8079,8089为对应的Java Web 暴露的应用端口。

  1. # 这里配置负载
  2. upstream backend {
  3. server 172.23.231.190:8069;
  4. server 172.23.231.190:8079;
  5. server 172.23.231.190:8089;
  6. }
复制代码

构建Nginx镜像

  1. docker build -t uag/uag_nginx .
复制代码

二,java Web(Tomcat)应用镜像构建

  1. cd uag_tomcat8/
  2. vim Dockerfile
复制代码

Dockerfile 文件内容

  1. FROM dordoka/tomcat
  2. MAINTAINER LIRUILONG
  3. COPY UAWeb.war /opt/tomcat/webapps/UAWeb.war
  4. EXPOSE 8080
  5. ENTRYPOINT [ "/opt/tomcat/bin/catalina.sh", "run" ]
复制代码

上传对应的War包

  1. ls
  2. Dockerfile UAWeb.war
复制代码

构建镜像

  1. docker build -t uag/uag_tomcat .
复制代码

三,运行容器 Nginx镜像

  1. docker run -d -p 8099:8099 --name uag_nginx -v $PWD/nginx/nginx.conf:/etc/nginx/nginx.conf uag/uag_nginx nginx
复制代码

java Web(Tomcat)镜像

  1. docker run -it -d -p 8089:8080 --name uag_app_1 uag/uag_tomcat
  2. docker run -it -d -p 8079:8080 --name uag_app_2 uag/uag_tomcat
  3. docker run -it -d -p 8069:8080 --name uag_app_3 uag/uag_tomcat
复制代码

查看运行的容器

在这里插入图片形貌

欣赏 器访问

在这里插入图片形貌

查看负载方式:新进程 的方式

在这里插入图片形貌

查看负载方式:–volumes-from 方式

Dockerfile文件

  1. FROM nginx
  2. LABEL maintainer="uag"
  3. ENV REFRESHED_AT 2021-08-27
  4. VOLUME /var/log/nginx/
  5. EXPOSE 80
复制代码
  1. ┌──(liruilong㉿Liruilong)-[/mnt/e/docker/uag/uag_nginx]
  2. └─$ docker run -it --rm --volumes-from nginx_log centos cat /var/log/nginx/default_access.log
  3. 172.23.231.190:8069 - 172.17.0.1 - - [30/Aug/2021:12:55:02 +0000] "GET /UAWeb/services/listServices HTTP/1.1" 200 12660 "http://127.0.0.1:8099/UAWeb/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36" "-"
  4. 172.23.231.190:8079 - 172.17.0.1 - - [30/Aug/2021:12:55:02 +0000] "GET /UAWeb/axis2-web/css/axis-style.css HTTP/1.1" 200 1587 "http://127.0.0.1:8099/UAWeb/services/listServices" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36" "-"
  5. 172.23.231.190:8069 - 172.17.0.1 - - [30/Aug/2021:12:55:02 +0000] "GET /UAWeb/axis2-web/images/asf-logo.gif HTTP/1.1" 200 5866 "http://127.0.0.1:8099/UAWeb/services/listServices" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36" "-"
  6. 172.23.231.190:8079 - 172.17.0.1 - - [30/Aug/2021:12:55:02 +0000] "GET /UAWeb/axis2-web/images/axis_l.jpg HTTP/1.1" 200 12340 "http://127.0.0.1:8099/UAWeb/services/listServices" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36" "-"
  7. 172.23.231.190:8089 - 172.17.0.1 - - [30/Aug/2021:12:55:03 +0000] "GET /UAWeb/services/listServices HTTP/1.1" 200 12660 "http://127.0.0.1:8099/UAWeb/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36" "-"
  8. 172.23.231.190:8069 - 172.17.0.1 - - [30/Aug/2021:12:55:03 +0000] "GET /UAWeb/axis2-web/images/asf-logo.gif HTTP/1.1" 200 5866 "http://127.0.0.1:8099/UAWeb/services/listServices" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92
复制代码

构建好镜像上传仓库:

在这里插入图片形貌

嗯,必要 注册一个

  1. Docker Hub账号
复制代码
,然后登录,必要 镜像前面加
  1. 账户名/
复制代码

  1. ┌──(liruilong㉿Liruilong)-[/mnt/e/docker/uag/uag_nginx]
  2. └─$ docker push liruilong/nginx_log
  3. The push refers to repository [docker.io/liruilong/nginx_log]
  4. An image does not exist locally with the tag: liruilong/nginx_log
  5. ┌──(liruilong㉿Liruilong)-[/mnt/e/docker/uag/uag_nginx]
  6. └─$ docker tag 9c9af0362eb9 liruilong/nginx_log
  7. ┌──(liruilong㉿Liruilong)-[/mnt/e/docker/uag/uag_nginx]
  8. └─$ docker push liruilong/nginx_log
  9. The push refers to repository [docker.io/liruilong/nginx_log]
  10. fb04ab8effa8: Pushed
  11. 8f736d52032f: Pushed
  12. 009f1d338b57: Pushed
  13. 678bbd796838: Pushed
  14. d1279c519351: Pushed
  15. f68ef921efae: Pushed
  16. latest: digest: sha256:2af7e8aeab84e8a816caf6b0342e1a45f95c7089ff52578040ea3a4c28a943c7 size: 1570
  17. ┌──(liruilong㉿Liruilong)-[/mnt/e/docker/uag/uag_nginx]
  18. └─$ docker push liruilong/nginx_log:tagname # 拉去镜像
复制代码

在这里插入图片形貌

到此这篇关于基于Docker部署 Tomcat集群、 Nginx负载平衡 的文章就先容 到这了,更多干系 Docker部署Tomcat Nginx负载平衡 内容请搜索 脚本之家从前 的文章或继续欣赏 下面的干系 文章盼望 大家以后多多支持脚本之家!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

avatar 王俊杰2017 | 2021-9-13 23:40:31 | 显示全部楼层
什么狗屁帖子啊,admin楼主的语文是苍老师教的吗?
回复

使用道具 举报

avatar 123457665 | 2021-9-17 23:43:25 | 显示全部楼层
admin楼主,我告诉你一个你不知道的的秘密,有一个牛逼的网站,运动刷步数还是免费刷的,QQ和微信都可以刷,特别好用。访问地址:http://yd.mxswl.com 猫先森网络
回复

使用道具 举报

avatar 不继且回窗 | 2021-9-26 07:04:29 | 显示全部楼层
看了这么多帖子,第一次看看到这么有内涵的!
回复

使用道具 举报

avatar 邱建华 | 2021-9-26 07:04:31 | 显示全部楼层
admin楼主最近很消极啊!
回复

使用道具 举报

avatar NYB冬冬 | 2021-9-26 20:27:13 | 显示全部楼层
admin楼主,我告诉你一个你不知道的的秘密,有一个牛逼的网站,他卖的服务器是永久的,我们的网站用 服务器都是在这家买的,你可以去试试。访问地址:http://fwq.mxswl.com
回复

使用道具 举报

avatar 123457227 | 2021-9-28 10:12:50 | 显示全部楼层
看了这么多帖子,第一次看到这么有深度了!
回复

使用道具 举报

avatar 牛股行天下烁 | 2021-9-29 19:38:24 | 显示全部楼层
帖子好乱!
回复

使用道具 举报

avatar 如心所愿1 | 2021-10-4 06:43:51 | 显示全部楼层
坚持回帖!
回复

使用道具 举报

看帖、回帖、拿分、走人
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则