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,完成持续集成、部署。

Nginx部署tomcat/wildfly集群负载均衡的更多相关文章

  1. 图文解说:Nginx+tomcat配置集群负载均衡

    图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用  作者:niumd Blog:http://ari.iteye ...

  2. Apache+Tomcat +mod_proxy集群负载均衡及session

      序言: 在玩Apache+Tomcat +mod_jk集群负载均衡及session的时候发现,还有一种方式可以实现,就是网上各位大牛们说的mod_proxy反向代理. 实在弄的我的知识细胞洋洋.实 ...

  3. 转】Nginx+tomcat配置集群负载均衡

    原博文出自于:http://blog.csdn.net/bruce_6/article/details/38228299         感谢! 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食 ...

  4. .net core 跨平台开发 微服务架构 基于Nginx反向代理 服务集群负载均衡

    1.概述 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客 ...

  5. windows+nginx+tomcat实现集群负载均衡(生产环境必读)

    概念理解(原文链接) 集群:多个tomcat服务器运行同一个web服务就能称之为集群 负载均衡:apache按照一定方式将不同的客户端访问分配到不同的tomcat服务器 简单负载均衡实现: 网上参考了 ...

  6. Nginx+tomcat配置集群负载均衡

    开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务.之初,曾有个小小的疑问为何不采用开源的a ...

  7. 【nginx+tomcat集群】Nginx1.12.2+Tomcat7集群+负载均衡+Session共享

    今天想着将项目优化一下,就想的实现集群分布,在本机测试:利用nginx+tomcat实现 通过上一篇博客(http://www.cnblogs.com/qlqwjy/p/8535235.html),N ...

  8. ngnix apache tomcat集群负载均衡配置

    http://w.gdu.me/wiki/Java/tomcat_cluster.html 参考: Tomcat与Apache或Nginx的集群负载均衡设置: http://huangrs.blog. ...

  9. Apache + Tomcat集群 + 负载均衡

    Part I: 取经处: http://www.ramkitech.com/2012/10/tomcat-clustering-series-simple-load.html  http://blog ...

随机推荐

  1. CSS制作图形速查表

    很少会有人意识到,当浏览器绘制的border,会有一个角度的问题.我们就是得用这样的一个技巧来制作三角的效果.我们只需要保证一边的边框是有色,其他边框色为透明色,这样我们就很容易制作出三角形,然后改变 ...

  2. Java 基本语法(关键字、标识符、常量、注释)

    1. Java 程序的构成 对象(object):对象是类的一个实例,有状态和行为. 类(class):类是一个模板,它描述一类对象的行为和状态. 方法(method):方法就是行为,一个类可以有很多 ...

  3. Linux性能测试工具

    Linux性能测试工具 在测试中,我们不仅需要查看系统日志信息,而且还要使用大量的性能监测工具来关注某些地方,如内存.CPU等.在Linux系统中,所有的运行参数保存在虚拟目录/proc中,换句话说, ...

  4. iOS的图片:解码(CPU)与内存(缓存)

    图片的数据:资源数据(地址).原始数据(Data).显示数据(解码后的数据) 解压图片 - PNG或者JPEG压缩之后的图片文件会比同质量的位图小得多.但是在图片绘制到屏幕上之前,必须把它扩展成完整的 ...

  5. Java工具类(util) 之01- 数学运算工具(精确运算)

    数学运算工具(精确运算) /** * * @author maple * */ public abstract class AmountUtil { private AmountUtil() { } ...

  6. BZOJ2004:[HNOI2010]Bus 公交线路(状压DP,矩阵乘法)

    Description 小Z所在的城市有N个公交车站,排列在一条长(N-1)km的直线上,从左到右依次编号为1到N,相邻公交车站间的距离均为1km. 作为公交车线路的规划者,小Z调查了市民的需求,决定 ...

  7. POJ3068 "Shortest" pair of paths

    嘟嘟嘟 题目大意:一个有向图,每一条边有一个边权,求从节点\(0\)到\(n - 1\)的两条不经过同一条边的路径,并且边权和最小. 费用流板子题. 发个博客证明一下我写了这题. #include&l ...

  8. 使用Apache HttpClient 4.x进行异常重试

    在进行http请求时,难免会遇到请求失败的情况,失败后需要重新请求,尝试再次获取数据. Apache的HttpClient提供了异常重试机制,在该机制中,我们可以很灵活的定义在哪些异常情况下进行重试. ...

  9. [AHOI2001]多项式乘法

    \([Link](https://www.luogu.org/problemnew/show/P2553)\) \(\color{red}{\mathcal{Description}}\) 给出两个多 ...

  10. Fiddler模拟Http请求

    Fiddler模拟Http请求 一.自定义Http请求: