1.调度器配置:

docker run -p 80:80 --name nginx --restart=always  -v /root/nginx/www/:/usr/share/nginx/html -v /root/nginx/conf/conf.d:/etc/nginx/conf.d  -v /root/nginx/logs:/var/log/nginx -v /etc/localtime:/etc/localtime -d nginx

将写好的default.conf的nginx配置文件写好,详见文件其中包括两台后端服务器;

放到conf.d目录,挂载到容器的/etc/nginx/conf.d;

将容器内的日志/var/log/nginx映射出到 宿主机;

将宿主机时间映射到容器内;

2.后端服务器配置:

1)搭建nfs服务器共享

后端服务器挂载该 nfs服务器资源

2)搭建mysql57数据库服务器

3)部署应用服务(tomcat8)

docker run -d -p 8080:8080 -v /opt/server.xml:/usr/local/tomcat/conf/server.xml -v /opt/tomcat应用项目:/usr/local/tomcat/webapps/应用项目名  -v /etc/localtime:/etc/localtime -v /opt/应用项目/logs:/logs  -v /opt/应用项目/applog:/usr/local/tomcat/logs --name 应用项目 --restart=always  tomcat:8

将tomcat配置文件server.xml文件挂载到容器;

将应用挂载到容器中的/usr/local/tomcat/webapps;

将本地时间映射到容器;

将日志映射到宿主机相应目录;

--restart=always:总是重启,便于重启主机后不能自行启动;

4)部署应用服务容器方式( jboss/wildfly)

先采用容器模式部署

docker run -d -p 80:8080 -p 9990:9990 -u root -v /etc/localtime:/etc/localtime

-v /opt/jboss/standalone.xml:/opt/jboss/wildfly/standalone/configuration/standalone.xml

-v /opt/jboss/module/mysql-connector.jar:/opt/jboss/wildfly/standalone/deployments/mysql-connector.jar

--name wildfly jboss/wildfly

将写好的 wildfly的配置文件 standalone.xml文件挂载到容器目录;

将jdbc 驱动 jar包放入容器内,以便建立jdbc 数据源使用;

编辑standalone.xml文件,

在<subsystem xmlns="urn:jboss:domain:datasources:2.0  标签内添加datasources及driver:

例如:

<datasource jndi-name="java:jboss/datasources/MysqlDs" pool-name="MysqlDs" enabled="true" use-ccm="false">

<connection-url>jdbc:mysql://ip地址及端口/数据库名称?useSSL=true&amp;autoReconnect=true&amp;failOverReadOnly=false</connection-url>

<driver>mysql-connector.jar</driver>mysql-connector.jar为启动容器时挂载到deployments目录的jar包

<security>

<user-name>*****</user-name>

<password>******</password>

</security>

注意修改其中的参数( url   db_name   username   password)

3.session问题:

在nginx负载调度器中配置 ip_hash算法,它会根据ip地址去找后端服务器,session会根据ip保持;

4.采用Jenkins集成部署war包到wildfly

1)部署Jenkins

用容器方式:

docker run -d -p 8002:8080  -u root

-v /etc/profile:/etc/profile

-v /usr/local/java:/usr/local/java

-v /usr/local/ant:/usr/local/ant

-v /root/jenkins:/var/jenkins_home

--name jenkins --restart=always jenkins/jenkins

将ant及java及环境文件挂到jenkins容器中;

2)启动Jenkins及部署

添加插件

系统管理-插件管理-未安装-jboss management plugin 、wildfly

系统管理-全局工具配置-新增ant

系统管理-全局工具配置-新增java

新建项目:源码管理:https://svn服务器IP地址/相关代码目录

构建环境:with ant :ant、java

构建:ant

增加构建步骤:

Deploy War to Wildfly,此处可加入多台需要部署的后端服务器,本文有两台后端服务器;

war包所在目录:

Hostname:ip地址

Port:9990

User name:admin

Password:admin

构建项目

出现错误:FATAL: Unable to initialize command context.

解决办法:

将/Jenkins/ plugins/wildfly-deployer/WEB-INF/lib/wildfly-cli-8.2.1.Final.jar

/Jenkins/plugins/wildfly-deployer/WEB-INF/lib/wildfly-deployer.jar两个文件拷贝至

/Jenkins/war/WEB-INF/lib目录下,重新构建,成功。

3)重复部署

出现错误java.lang.OutOfMemoryError: Java heap space

在wildfly的standalone.sh文件中加入

JAVA_OPTS="-Xms256m

-Xmx2048m

-XX:NewSize=256m

-XX:MaxNewSize=512m

-XX:PermSize=128m

-XX:MaxPermSize=256m

-XX:+UseConcMarkSweepGC

-XX:+CMSPermGenSweepingEnabled

-XX:+CMSClassUnloadingEnabled

-Djboss.platform.mbeanserver"

问题解决

5.完成了nginx作为调度器,后端有两台tomcat或者wildfly的服务器集群部署,同时在调度器上部署Jenkins,完成持续集成、部署。

最新文章

  1. HTML5 介绍
  2. TODO:小程序的春天你想做什么
  3. struts2漏洞与修复
  4. 自学python3随笔--连接数据库和写EXCEL文件实现
  5. kafka单节点部署无法访问问题解决
  6. UVa10603 Fill
  7. C++实现网格水印之调试笔记(一)
  8. 【HDOJ】4347 The Closest M Points
  9. 树莓派实现TimeMachine以及samba服务
  10. ECshop网店系统百万级商品量性能优化-简单的一些Cache内存配置
  11. [每日一题] 11gOCP 1z0-052 :2013-09-27 bitmap index.................................................C37
  12. 【转】android加载大量图片内存溢出的三种解决办法
  13. Python使用虚拟环境
  14. ftell 的使用
  15. C# datagridview大小跟随窗口动态改变(转)
  16. 《Linux内核设计与实现》读书笔记三
  17. (转)AIX光盘备份与恢复
  18. 用AndroidSDK中的Face Detector实现人脸识别
  19. [GO]匿名字段的同名字段操作
  20. 一对多,多的逗号分隔存在新字段中(Group_concat 用法)

热门文章

  1. C# winfrom界面跳转闪烁问题解决方法
  2. Python学习---django惰性机制
  3. Android 通过触摸动态地在屏幕上画矩形
  4. December 19th 2016 Week 52nd Sunday
  5. 《梦断代码》读书笔记 part3
  6. JS实现键盘监听(包括组合键)
  7. 学习python第一天总纲
  8. 关于Mysql查询varchar类型错误问题
  9. yii2.0 rules 规则中场景验证字段
  10. 2、Android-UI(RecyclerView)