Điều này là để cài đặt tomcat như một daemon trên cổng 8080 nhưng cũng cho phép cổng 80 bằng cách sử dụng chuyển hướng tường lửa. Nó đã được thử nghiệm trên Mac OS 10.6 nhưng cũng hoạt động với 10.5.
Chỉnh sửa /opt/local/share/java/tomcat6/conf/server.xml
và thêm proxyport="80" URIEncoding="UTF-8"
vào bên trong <Connector .../>
.
Để chuyển tiếp cổng 80 đến 8080 chạy dòng này và thêm nó làm /bin/catalina.sh
:
sudo ipfw add 100 fwd 127.0.0.1,8080 tcp from any to any 80 in
Gán đủ bộ nhớ cho máy Java hoặc bạn có thể gặp rắc rối sau này. Phía trong/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"
Trong ví dụ của tôi, tôi đã phân bổ ~ 3Gb hoặc RAM nhưng bạn có thể điều chỉnh điều này, dù sao cũng không đặt dưới 1GB nếu bạn đang chạy hudson
bên trong tomcat.
Chạy như một dịch vụ
Chạy nano /Library/LaunchDaemons/org.apache.tomcat.plist
và dán mã dưới đây:
<?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>
Kiểm tra launchd đã phát hiện ra bạn daemon mới, nếu không khởi động lại :(
launchctl list|grep tomcat
Bắt đầu tomcat bằng tay.
launchctl start org.apache.tomcat
Nếu trạng thái là một cái gì đó khác -
, bạn có một vấn đề và bạn nên điều tra nó: launchctl log level debug
và kiểm tra /var/log/system.log
.