在 Apache 中部署 eHour Tomcat
deploy eHour in Apache Tomcat
我需要你的帮助,因为我尝试在我的服务器(它是 windows 服务器)上安装 eHour 但没有成功:
如documentation中所述,安装有两种类型:
- 独立
- War 文件(文档 link 似乎很糟糕,请转到旧的安装说明,新的是 here )
首先,我尝试了独立方式,但即使 eHour 服务是 运行,我也没有任何网页。
所以我卸载了eHour并尝试使用War文件方式
由于是新服务器,我安装了 Apache Tomcat(版本 10.0.4)和 mysql
然后,我复制 WAR 发行版并将其解压缩到我的 C 盘(我还将文件夹从 ehour-1.4.3 重命名为 ehour)
然后我创建一个 setevn.bat 文件并创建一个变量 EHOUR_HOME
set EHOUR_HOME="c:\ehour"
然后我下载 mysql 连接器并将文件 mysql-connector-java-8.0.23.jar 复制到 Tomcat 10.0/lib 目录
最后,我将 war 文件从 ehour-1.4.3.war 重命名为 ehour.war 并将其复制到 Tomcat 10.0/webapps 目录
我启动了 apache,一个目录 ehour 已经添加到 Tomcat10.0/webapps 目录
但是 localhost:8080/ehour 结果是 404:请求的资源 [/ehour] 不可用。
我查看了 catalina 日志,但没有找到对我有帮助的东西
有什么建议吗?
看来我确实有与 here 相同的错误:
在文件 localhost.log 中我确实有类似的错误:
EHOUR_HOME environment variable or context parameter not defined
nested exception is java.io.FileNotFoundException: ${EHOUR_HOME}\conf\ehour.properties (The system cannot find the path specified)
但是,我确实在 Tomcat/bin 目录中创建了一个文件 setenv.bat
它的内容是:
set EHOUR_HOME="c:\ehour"
我想念什么?
您正在使用 Windows,因此您可能正在使用 Procrun (Commons Daemon/Tomcat Monitor) to start Tomcat as a Windows service. Procrun doesn't use the *.bat
files at all, everything is configured through the graphical interface prunmgr
(check this answer 进行屏幕截图)。
很遗憾,您无法通过图形界面配置环境变量,因此:
将环境变量全局(对所有用户)添加到您的系统,
或将环境变量添加到proc运行:
- 运行
Tomcat10.exe update "++Environment=C:\ehour"
(Tomcat10.exe
是 proc运行 的副本,在 Tomcat 安装的 bin
目录中),
- 向 windows 注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\<service_name>\Parameters
添加一个名为 Environment
的 REG_MULTI_SZ
类型的新值,数据为 EHOUR_HOME=C:\ehour
.
编辑: EHOUR_HOME
配置参数实际上有三个不同的来源(参见 EhourHomeUtil
and EnvInitListener
),按以下顺序查找:
- Java 系统 属性
EHOUR_HOME
,您可以在例如$CATALINA_BASE/conf/catalina.properties
,
- OS环境变量
EHOUR_HOME
,配置如上,
- servlet context init参数
EHOUR_HOME
,可以在appropriate context file: 中配置
<Parameter name="EHOUR_HOME" value="/path/to/ehour" />
我需要你的帮助,因为我尝试在我的服务器(它是 windows 服务器)上安装 eHour 但没有成功:
如documentation中所述,安装有两种类型:
- 独立
- War 文件(文档 link 似乎很糟糕,请转到旧的安装说明,新的是 here )
首先,我尝试了独立方式,但即使 eHour 服务是 运行,我也没有任何网页。
所以我卸载了eHour并尝试使用War文件方式
由于是新服务器,我安装了 Apache Tomcat(版本 10.0.4)和 mysql
然后,我复制 WAR 发行版并将其解压缩到我的 C 盘(我还将文件夹从 ehour-1.4.3 重命名为 ehour)
然后我创建一个 setevn.bat 文件并创建一个变量 EHOUR_HOME
set EHOUR_HOME="c:\ehour"
然后我下载 mysql 连接器并将文件 mysql-connector-java-8.0.23.jar 复制到 Tomcat 10.0/lib 目录
最后,我将 war 文件从 ehour-1.4.3.war 重命名为 ehour.war 并将其复制到 Tomcat 10.0/webapps 目录
我启动了 apache,一个目录 ehour 已经添加到 Tomcat10.0/webapps 目录 但是 localhost:8080/ehour 结果是 404:请求的资源 [/ehour] 不可用。
我查看了 catalina 日志,但没有找到对我有帮助的东西
有什么建议吗?
看来我确实有与 here 相同的错误: 在文件 localhost.log 中我确实有类似的错误:
EHOUR_HOME environment variable or context parameter not defined
nested exception is java.io.FileNotFoundException: ${EHOUR_HOME}\conf\ehour.properties (The system cannot find the path specified)
但是,我确实在 Tomcat/bin 目录中创建了一个文件 setenv.bat
它的内容是:
set EHOUR_HOME="c:\ehour"
我想念什么?
您正在使用 Windows,因此您可能正在使用 Procrun (Commons Daemon/Tomcat Monitor) to start Tomcat as a Windows service. Procrun doesn't use the *.bat
files at all, everything is configured through the graphical interface prunmgr
(check this answer 进行屏幕截图)。
很遗憾,您无法通过图形界面配置环境变量,因此:
将环境变量全局(对所有用户)添加到您的系统,
或将环境变量添加到proc运行:
- 运行
(Tomcat10.exe update "++Environment=C:\ehour"
Tomcat10.exe
是 proc运行 的副本,在 Tomcat 安装的bin
目录中), - 向 windows 注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\<service_name>\Parameters
添加一个名为Environment
的REG_MULTI_SZ
类型的新值,数据为EHOUR_HOME=C:\ehour
.
- 运行
编辑: EHOUR_HOME
配置参数实际上有三个不同的来源(参见 EhourHomeUtil
and EnvInitListener
),按以下顺序查找:
- Java 系统 属性
EHOUR_HOME
,您可以在例如$CATALINA_BASE/conf/catalina.properties
, - OS环境变量
EHOUR_HOME
,配置如上, - servlet context init参数
EHOUR_HOME
,可以在appropriate context file: 中配置
<Parameter name="EHOUR_HOME" value="/path/to/ehour" />