首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Mac上启动?

如何在Mac上启动?
EN

Server Fault用户
提问于 2010-09-22 09:00:07
回答 3查看 30.6K关注 0票数 18

我注意到,在OS上安装tomcat没有完整的指南,其中包括将其设置为在启动时启动。

以下是快速指南:

  • 安装宏端口
    • suport port upgrade
    • sudo port upgrade outdated

  • sudo port install tomcat6,或者如果您想要其他版本,请检查port list|grep tomcat
  • 配置现在位于:/opt/local/share/java/tomcat6/conf
  • 启动脚本: /opt/local/share/java/tomcat6/conf/tomcat-users.xml.sample /opt/local/share/java/tomcat6/conf/tomcat-users.xml cp /opt/local/share/java/tomcat6/conf/tomcat-users.xml /opt/local/share/java/tomcat6/bin/tomcatctl
  • . 核对物品

但是,我忽略了关于如何使它作为真正的服务/守护进程运行的部分:在系统启动时,或者在崩溃时重新启动。

EN

回答 3

Server Fault用户

发布于 2010-09-22 10:56:52

这是为了将tomcat安装为端口8080上的守护进程,但也可以通过使用防火墙重定向启用端口80。它在MacOS10.6上进行了测试,但也应该与10.5一起工作。

编辑/opt/local/share/java/tomcat6/conf/server.xml并在<Connector .../>中添加proxyport="80" URIEncoding="UTF-8"

对于转发端口80到8080,请运行这一行并将其添加到/bin/catalina.sh

代码语言:javascript
复制
sudo ipfw add 100 fwd 127.0.0.1,8080 tcp from any to any 80 in

为Java机器分配足够的内存,否则以后可能会有麻烦。内部/opt/local/share/java/tomcat6/conf/local.env

代码语言:javascript
复制
export JAVA_JVM_VERSION=CurrentJDK
export JAVA_OPTS="-Xmx3000M -Xms3000M -Djava.awt.headless=true -Duser.timezone=UTC"

在我的示例中,我分配了~3Gb或RAM,但是您可以适应这种情况,如果在tomcat中运行hudson,无论如何不要放小于1GB的内存。

作为服务运行的

运行nano /Library/LaunchDaemons/org.apache.tomcat.plist并粘贴下面的代码:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"     "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Disabled</key>
    <false/>
    <key>Label</key>
    <string>org.apache.tomcat</string>
    <key>ProgramArguments</key>
    <array>
            <string>/opt/local/share/java/tomcat6/bin/catalina.sh</string>
            <string>run</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

检查launchd检测到您的新守护进程,如果没有重新启动:

代码语言:javascript
复制
launchctl list|grep tomcat

手动启动tomcat。

代码语言:javascript
复制
launchctl start org.apache.tomcat

如果状态不是-,那么您就有一个问题,您应该调查它:launchctl log level debug和check /var/log/system.log

票数 14
EN

Server Fault用户

发布于 2010-09-22 09:04:07

您需要将tomcat注册为需要在启动时执行的项。在Mac上,这是由launchd (http://developer.apple.com/macosx/launchd.html)处理的。我不知道launchd是否支持自动重新启动,但否则您应该看一看类似supervisord (http://supervisord.org/)之类的内容。

票数 1
EN

Server Fault用户

发布于 2011-03-29 23:27:27

对于启动时的雪豹启动,我在/Library/LaunchDaemons/ plist文件中创建了一个plist文件,如下所示(下面,修改以匹配您的目录)。您可以通过发出"launchctl load org.macports.tomcat6.plist“或"launchctl卸载org.macports.tomcat6.plist”启动/停止测试服务。一旦你让它工作重新启动,以证明自动启动在启动。

代码语言:javascript
复制
sh-3.2# more org.macports.tomcat6.plist
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd" >
<plist version='1.0'>
<dict>
<key>Label</key><string>org.macports.tomcat6</string>
<key>ProgramArguments</key>
<array>
        <string>/opt/local/bin/daemondo</string>
        <string>--label=tomcat6</string>
        <string>--start-cmd</string>
        <string>/opt/local/bin/tomcatctl</string>
        <string>start</string>
        <string>;</string>
        <string>--pid=fileclean</string>
        <string>--pidfile</string>
        <string>/opt/local/share/java/tomcat6/logs/tomcat6.pid</string>
</array>
<key>Debug</key><false/>
<key>Disabled</key><false/>
<key>OnDemand</key><false/>
<key>RunAtLoad></key><true/>
</dict>
</plist>
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/183496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档