免安装版的Tomcat注册为windows服务

简介: 免安装版的Tomcat注册为windows服务

在Apache Tomcat的官方网站下载的免安装版tomcat,要把其注册为系统服务,并自启动。

1. 首先检查系统是不是之前有安装过之前的版本的tomcat,如果有的话,请将其删除,删除的办法是,到windows的控制面板—>计算机管理—>服务

在服务列表里查看有没有Apache 或tomcat相关的服务,

如果有的话,请在上面点鼠标右键—>属性,记下此服务的名称,假如为Tomcat6


此时进入windows的命令行,开始菜单—>运行—>cmd


在命令行里输入

sc delete Tomcat6

此时就能删除。上面一行命令行的Tomcat6就是系统服务里的属性名称


2. 注册新服务

在命令行里进入到下载的免安装版的tomcat目录下的bin目录

在此bin目录下运行

service.bat install

此时就能把免安装版的tomcat注册为系统服务,

你再到windows的控制面板—>计算机管理—>服务,在服务列表里就能看到你刚新加的服务


其实上面说了这么多,原理很简单,下面把这个基本原理讲一下,

Tomcat/bin目录下自带了一个service.bat文件,我们执行的就是这个bat文件,

打开service.bat文件,你会发现以下代码:

set "EXECUTABLE=%CATALINA_HOME%\bin\tomcat6.exe"

rem Set default Service name
set SERVICE_NAME=Tomcat6
set PR_DISPLAYNAME=Apache Tomcat 6

if "%1" == "" goto displayUsage
if "%2" == "" goto setServiceName
set SERVICE_NAME=%2
set PR_DISPLAYNAME=Apache Tomcat %2
:setServiceName
if %1 == install goto doInstall
if %1 == remove goto doRemove
if %1 == uninstall goto doRemove
echo Unknown parameter "%1"
:displayUsage
echo.
echo Usage: service.bat install/remove [service_name]
goto end

:doRemove
rem Remove the service
"%EXECUTABLE%" //DS//%SERVICE_NAME%
echo The service '%SERVICE_NAME%' has been removed
goto end

:doInstall
rem Install the service
echo Installing the service '%SERVICE_NAME%' ...
echo Using CATALINA_HOME:    "%CATALINA_HOME%"
echo Using CATALINA_BASE:    "%CATALINA_BASE%"
echo Using JAVA_HOME:        "%JAVA_HOME%"

1.代码1:

set SERVICE_NAME=Tomcat6
set PR_DISPLAYNAME=Apache Tomcat 6

如果把tomcat设成服务成功后,就要会系统服务里面看到,服务名就是在这里设的

你如果改一下服务名的话,可以把上面的SERVICE_NAME,PR_DISPLAYNAME的值换掉。

或者运行时 service.bat install tomcat 其中tomcat会替换默认的PR_DISPLAYNAME

2.代码2:


:doRemove和:doInstall这段代码就相当于这个bat文件有两个方法,一个叫doRemove,一个doInstall,看名字很好理解,doInstall就表示安装服务,doRemove表示删除服务


3.代码3:

if %1 == install goto doInstall
if %1 == remove goto doRemove
if %1 == uninstall goto doRemove

但是我有在cmd命令行里却用的是:

service.bat install

是如何映射的呢?

主要是通过如下代码来实现通过上面可以看到,%1就表示我们在service.bat install输入的第一个参数就是install,也就是%1=install,发现if %1 == install goto doInstall

于是就执行doInstall方法,安装服务到系统,

同样删除服务,一个最简单的方法就是:

service.bat remove

service.bat uninstall
目录
相关文章
|
4天前
|
边缘计算 安全 网络安全
|
4天前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
45 9
|
7天前
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
16 1
|
3天前
|
弹性计算 关系型数据库 网络安全
阿里云国际版无法连接和访问Windows服务器中的FTP服务
阿里云国际版无法连接和访问Windows服务器中的FTP服务
|
Shell Windows
Windows 注册和取消注册一个dll或者ocx
原文: Windows 注册和取消注册一个dll或者ocx   一、DLL是什么        DLL,是Dynamic Link Library 的缩写形式,中文名称为动态链接库。        DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。
1412 0
|
1月前
|
网络安全 虚拟化 Windows
windows 11安装openSSH server 遇到的"kex_exchange_identification: read: Connection reset"问题
windows 11安装openSSH server 遇到的"kex_exchange_identification: read: Connection reset"问题
|
2月前
|
PHP Windows
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
|
2月前
|
开发框架 .NET API
Windows Server 2022 安装IIS 报错 访问临时文件夹 C:\WINDOWS\TEMP\3C 读取/写入权限 错误: 0x80070005
Windows Server 2022 安装IIS 报错 访问临时文件夹 C:\WINDOWS\TEMP\3C 读取/写入权限 错误: 0x80070005
106 0
|
2月前
|
Linux Docker Windows
Windows——Docker拉取Windows Server镜像
Windows——Docker拉取Windows Server镜像
116 0
|
3月前
|
弹性计算 持续交付 Docker
阿里云云效产品使用合集之如何部署到阿里云服务器上的 Windows Server 上的 IIS
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。