Tomcat注册windows服务
下载tomcat
tomcat官方地址:https://tomcat.apache.org/
点击对应版本的download后,跳转到一下页面。选择合适自己环境的tomcat下载。当然,两种方式注册windows服务,我都会详细描述。
(1)安装版
双击下载好的exe安装文件。
点击next。
点击我同意。
这里就是最重要的一步了。配置端口号。
Server shutdown Port:是tomcat的终止服务占用的端口号,默认为8005。
Http/1.1 Connector Port:是tomcat的http连接端口号,默认8080。
windows Service Name:系统服务名称。
Tomcat Administrator login:tomcat服务器管理界面登录账号和密码。自定义即可。manager-gui是用户权限。默认即可。
我是这样配置的。(我电脑当前存在两台tomcat了,所以端口号都需要和之前的不同。)推荐:端口号加1配置,方便记录。
点击next。这时候,出现报错。大概意思是,当前主机已存在服务名为tomcat8的服务,请换个服务名。(第一次配置不会报错)
那我们就修改服务名。
配置本地jre路径。一般是jdk中的jre
选择tomcat安装位置,我这里是新建了一个文件夹,不装在c盘。
然后点击install即可
安装完成。点击finish。启动tomcat。
启动完成后,我们打开网页输入localhost加上前面配置的端口号。例如:loacalhost:8082直接回车即可。显示以下界面即可注册服务成功。
然后,打开运行,输入services.msc。打开系统服务详细列表设置服务自启动,同时服务器重启也在这里。
双击服务,在打开窗口中,修改手动为自动。也可以配置启动参数,例如编码为utf-8,内存最大值等等
常用启动参数:-server -XX:PermSize=1024M -XX:MaxPermSize=2048m -Dfile.encoding=UTF-8
到这里就配置完毕,将打包好的项目war放在tomcat安装路径下的webapps文件里面,重启服务器即可。
注销服务:同样是进入bin目录下,输入service.bat remove 服务名
备注:如果没有自定义服务名,就不用输入。直接service.bat remove即可。
这时候有人会想,怎么修改那些描述信息和系统服务名称呢?
请查看另外一个文章:tomcat修改系统服务名称和描述信息图文教程(详细)
(2)免安装版(绿色版)
将下载好后的zip文件解压至磁盘中。
Tomcat服务所需环境变量
首先,要了解tomcat注册成windows服务需要什么环境变量。
这是tomcat注册成服务时所检查的系统环境变量图。
CATALINA_HOME: 配置本地Tomcat根路径的环境。可配可不配,推荐不配置。通过阅读startup.bat文件可以知道,因为当多个Tomcat配置成Windows服务时,如果其中任何一个Tomcat配置了CATALINA_HOME变量指定了Tomcat根目录后,其他Tomcat在启动时会优先使用系统变量所定义的Tomcat根路径。这样就会报错,当然解决办法也很简单,设置多个CATALINA_HOME变量做区分。例如:CATALINA_HOME8080、CATALINA_HOME8081等等。对应的Tomcat中的配置文件也需要做修改,具体过程后面会讲。但是不配置该系统变量,Tomcat在注册成服务时会将startup.bat父目录的路径作为Tomcat的根路径,也就是Tomcat安装路径。
CATALINA_BASE: 本地tomcat安装路径。所以基本和CATALINA_HOME一样。可配可不配,推荐不配置。
JAVA_HOME: 配置本地jdk环境。必须配置
JRE_HOME: 配置本地jre环境。必须配置
JVM: java虚拟机路径,系统会根据jre环境自动索引,无需配置。
总结
综上所述,当多台Tomcat配置成Windows服务时,jdk和jre环境是必须配置的。多台Tomcat同时注册成服务的关键在于CATALINA_HOME系统变量,服务器在启动时会自动扫描该系统变量是否存在,存在则会根据该变量配置的根路径去启动该路径下的bin文件夹中的startup.bat文件。
Tomcat注册服务过程(重要)
单个Tomcat注册服务(设置和未设置CATALINA_HOME变量单个Tomcat注册成服务操作都一样)
1.首先进入到需要注册成服务的Tomcat目录下的bin文件夹中。
输入cmd,回车
2.在打开的命令窗口中确定路径正确后,输入service.bat install,回车即可。
3.注册成功,检查是否存在服务。
当命令界面显示一下环境变量信息和The service ‘服务名’ has been installed.则代表注册服务成功。这时候我们打开运行窗口输入services.msc,查看windows服务是否存在该服务。
4.设置服务为自启动。
双击服务,弹出来的窗口中修改启动类型为自动,点击确定即可。
常用启动参数:-server -XX:PermSize=1024M -XX:MaxPermSize=2048m -Dfile.encoding=UTF-8
多个Tomcat注册服务
(1)未设置CATALINA_HOME系统变量
同上,和单个tomcat注册服务操作一致。
但是,在启动服务之前必须修改tomcat的端口号和自定义服务名称,不然会因为端口号已被占用而启动服务失败。
启动命令:service.bat install 自定义服务名称
修改端口号
打开conf文件夹下的server.xml文件修改下列端口
这里的redirecPort端口号,项目中没有资源需要使用https协议去访问,所以没有修改,也没有配置对应转发端口号,可以自行设置。
修改好上面三个端口号后,就可以正常启动服务了。如果出现服务名已经存在注册失败时,就更换bin文件下的两个exe的名称。具体操作请点击下面的文章链接。
这时候有人问了,如果多个tomcat注册服务,服务名和服务描述等信息该如何修改呢?
请查看另外一个文章:tomcat修改系统服务名称和描述信息图文教程(详细)
(2)已设置CATALINA_HOME系统变量
前面提到过,当系统已存在CATALINA_HOME系统变量时,这时候需要设置不同的CATALINA_HOME系统变量区别Tomcat根路径。
例如:新建一个CATALINA_HOME8081系统变量,同样选择tomcat的安装路径。
替换catalina.bat、startup.bat、shutdown.bat、service.bat中的CATALINA_HOME为自定义的CATALINA_HOMExx
修改tomcat根路径下bin文件夹中的catalina.bat、startup.bat、shutdown.bat、service.bat这四个文件中的所有的CATALINA_HOME为CATALINA_HOME8081。
catalina.bat
startup.bat
shutdown.bat
service.bat
修改完成后,同样进行tomcat端口号的修改。修改完成后,一样进入bin文件夹下打开命令行窗口,输入service.bat install 服务名即可。因为多个tomcat服务名可能会重复。比如tomcat8.x的tomcat默认服务名为tomcat8。所以需要自定义服务名。具体操作查看:tomcat修改系统服务名称和描述信息图文教程(详细)
总结
单个tomcat注册成windows服务,只需要设置jdk和jre系统变量,在tomcat安装路径下找到bin文件夹,打开命令行窗口,执行service.bat install命令即可。
多个tomcat注册成Windows服务,不存在CATALINA_HOME系统变量的情况下,只需要修改conf文件夹下的server.xml文件中的端口号和自定义服务名称即可。存在CATALINA_HOME系统变量的情况下,就设置不同的变量与其他tomcat的该变量区分即可,同样需要修改端口号和自定义服务名称,和四个bat文件的变量名(默认为CATALINA_HOME)。(一个tomcat设置了CATALINA_HOME变量,其他的都需要设置)
自定义服务名称:tomcat修改系统服务名称和描述信息图文教程(详细)