Я заметил, что нет полного руководства по установке tomcat в OS X, которое включало бы его настройку для запуска во время загрузки.
Вот краткое руководство:
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/bin/tomcatctl
cp /opt/local/share/java/tomcat6/conf/tomcat-users.xml.sample /opt/local/share/java/tomcat6/conf/tomcat-users.xml nano / opt / local / share / java / tomcat6 /conf/tomcat-users.xml
... проверить статью
Но Мне не хватает части о том, как заставить его работать как настоящую службу / демон: при запуске системы и, возможно, перезапустить его, если он выйдет из строя.
Это для установки tomcat как демон на порт 8080, но включите также порт 80, используя перенаправление межсетевого экрана. Он был протестирован на Mac OS 10.6, но должен работать и с 10.5.
редактировать /opt/local/share/java/tomcat6/conf/server.xml
и добавить proxyport="80" URIEncoding="UTF-8"
внутри <Connector .../>
.
Для порт пересылки От 80 до 8080 запустите эту строку и добавьте ее /bin/catalina.sh
:
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
export JAVA_JVM_VERSION=CurrentJDK
export JAVA_OPTS="-Xmx3000M -Xms3000M -Djava.awt.headless=true -Duser.timezone=UTC"
В моем примере я выделил ~ 3 ГБ или ОЗУ, но вы можете это адаптировать, в любом случае не ставьте менее 1 ГБ, если вы работаете hudson
внутри кота.
Бегать nano /Library/LaunchDaemons/org.apache.tomcat.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>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 обнаружил новый демон, если не перезагрузите компьютер :(
launchctl list|grep tomcat
Запустите tomcat вручную.
launchctl start org.apache.tomcat
Если статус отличается от -
, у вас есть проблема, и вам следует ее изучить: launchctl log level debug
и проверьте /var/log/system.log
.
Вам необходимо зарегистрировать tomcat как элемент, который необходимо выполнить при запуске. В Mac OS это выполняется с помощью launchd (http://developer.apple.com/macosx/launchd.html). Я не знаю, поддерживает ли launchd автоматический перезапуск, но в противном случае вам стоит взглянуть на что-то вроде supervisord (http://supervisord.org/).
Для запуска Snow Leopard при запуске я создал файл plist в / Library / LaunchDaemons /. Файл plist будет выглядеть следующим образом (ниже внесите изменения в соответствии с вашими каталогами). Вы можете запустить / остановить службу для тестирования, введя команду «launchctl load org.macports.tomcat6.plist» или «launchctl unload org.macports.tomcat6.plist». Как только он заработает, перезагрузитесь, чтобы подтвердить автозапуск при загрузке.
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>