好处:
1.tomcat部署,更新一个站点不用重启所有站点
2.tomcat启动后的命令窗口,如果关闭,则tomcat服务不会挂掉
方法:
1.使用tomcat多实例部署方式,1个网站=1个tomcat实例=1个端口号;
2.将每个tomcat实例分别制作成不同的windows服务;
步骤:
现在我要部署2个网站,分别是ebm-web和ebm-mobile-web
1.下载tomcat,解压后如图:
2.在目录下新建文件夹ebm-web,将除bin,lib以外的文件夹拖入ebm-web(为了实现多实例)
3.打开conf/server.xml文件进行修改,修改3个端口号(很关键!跟其他实例不能重复!!!);
(关闭tomcat的端口)
(网站端口)
(tomcat AJP端口,我也不知道是个啥)
还要在HOST节点下增加一个Context配置;
<Context path="" docBase="D:\tomcat\apache-tomcat-8.0.29\ebm-mobile-web\webapps" debug="0" reloadable="true" crossContext="true" sessionCookieName="ebm-mobile-web" />
上句标红处要修改;(docBase为网站程序路径,sessionCookieName是为了站点之间的session不会乱)
接下来把ebm-web项目内容拷贝到webapps下;(注意:直接拷里面的内容,这样我就直接访问localhost:xxx了,而不是localhost:xxx/ebm-web);
然后到tomcat路径下的/bin里,在此处打开命令行(shift+右键);
执行命令(创建windows服务):
set CATALINA_HOME=D:\tomcat\apache-tomcat-8.0.29 #设置环境变量CATALINA_HOME为当前tomcat根目录 set CATALINA_BASE=D:\tomcat\apache-tomcat-8.0.29\ebm-web #设置环境变量CATALINA_BASE为当前tomcat实例目录 service install ebm-web #此处ebm-web为windows服务名 Tomcat8.exe //US//ebm-web --Startup=auto #设置为开机自动启动 #正式环境需要调整jvm内存(测试环境可不调),再执行下面的语句,分别表示初始内存和最大内存,单位为MB Tomcat8.exe //US//ebm-web --JvmMs=1024 --JvmMx=2048
成功的话,如下图:
最后,打开windows服务(任务管理器-服务)ebm-web就跑起来了;
接下来是ebm-mobile-web,重复上面的步奏,记得改端口之类的,上图
删除服务的命令为:
service.bat remove 你的服务名
注意:调整jvm内存
tomcat的默认内存比较小,可能会导致内存不足的异常,所以在正式环境我们需要将内存调大。
方法一:
在tomcat安装目录的bin目录执行:
Tomcat8.exe //US//你的服务名称 --JvmMs=1024 --JvmMx=2048
重启你的服务。
方法二:
在tomcat的bin目录找到service.bat文件,用编辑器打开,在文件末尾找到JvmMs和JvmMx两个参数,分别表示初始内存和最大内存大小,单位为MB,根据服务器内存情况调大其数值,重新安装你的服务才能生效。