【问题标题】:How to change java_opts for tomcat when we run it as a windows service manually?当我们手动将它作为 Windows 服务运行时,如何为 tomcat 更改 java_opts?
【发布时间】:2011-11-21 17:14:16
【问题描述】:

我在控制台上手动运行 tomcat 6 作为 Windows 服务。我需要在启动它之前更改 java_opts。我怎么做?另外,有没有办法可以动态查看日志?

【问题讨论】:

标签: java tomcat windows-services console


【解决方案1】:

我知道这是一个旧线程,但需要纠正一些假设。

仅供参考,在将 tomcat 作为服务运行时不使用 Catalina.bat。这是更改作为 Windows 服务运行的 tomcat 的 JAVA_OPTS 的方法。

  1. 打开服务并单击 Tomcat 服务。记下服务名称(很可能是 Tomcat6)。
  2. cd 到 Tomcat bin 目录
  3. 运行命令

    tomcat6w //ES//Tomcat6(如果不同,请替换您的服务名称)

  4. 单击 Java 选项卡

  5. 将选项(每个都在新行)添加到 Java 选项框中,并将初始内存和最大内存设置为 1536 和 2048

    -XX:MaxPermSize=256m -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true

  6. 点击应用

  7. 单击常规选项卡并重新启动服务

【讨论】:

  • 非常感谢,正是我想要的。仅进行了较小的编辑,在我的情况下,第 3 步是 .\tomcat7w.exe //ES//,没有 .exe 它不起作用。跨度>
  • 这应该是选择的答案:)
  • 这也应该是选择的答案+1,这个链接有一种编写脚本的方法,而不是手动的。 docs.lucee.org/guides/installing-lucee/windows/…
【解决方案2】:

要更改设置,请为 windows 创建一个名为 setenv.bat 的文件或为 Linux 创建一个名为 setenv.sh 的文件,其条目如下:

窗户:

set JAVA_OPTS="-Xms256m -Xmx512m"

Linux:

export JAVA_OPTS="-Xms256m -Xmx512m"

只需将此(setenv.bat/setenv.sh)文件放在 %CATALINA_HOME%\bin\ 文件夹中。您的命令文件(catalina.bat/catalina.sh)已经有如下语句:

窗户:

if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"

Linux:

if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then
 . "$CATALINA_BASE/bin/setenv.sh"

elif [ -r "$CATALINA_HOME/bin/setenv.sh" ];然后 . “$CATALINA_HOME/bin/setenv.sh” 菲 剩下的就交给我们了。

【讨论】:

    【解决方案3】:

    要更改$JAVA_OPTS,您可能需要编辑用于启动Tomcat 的批处理文件。我不在 Windows 上运行 Tomcat,但$JAVA_OPTS 出现在我的 Linux 安装上的 bin/ 目录内的 catalina.sh 中。

    就在 Windows 上动态查看日志而言,我知道有几个选项。

    1. 下载并安装 Cygwin,然后在命令行中使用 tail -f logfilename,就像在 Linux 中一样。
    2. 获取 BearTail 程序并使用它来跟踪您的日志文件。

    【讨论】:

    • 当 Tomcat 作为 Windows 服务 运行时,此 JAVA_OPTS 解决方案特别不起作用。请参阅 Kelly P Fitzgerald 的答案,它确实有效(在 Tomcat 8/Windows Server 2008 上测试)。
    【解决方案4】:

    您可以在启动 Tomcat 之前通过命令行手动设置 JAVA_OPTS 环境变量:

    set JAVA_OPTS=youropts
    

    或者您可以使用您想要的值编辑catalina.bat

    【讨论】:

      【解决方案5】:

      在 Windows 中,删除 set 命令的引号。引号是字面意思。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-21
        • 2011-08-24
        • 2010-12-03
        • 1970-01-01
        相关资源
        最近更新 更多