मैं मैक ओएस एक्स पर बूट पर अपाचे टॉमकैट कैसे शुरू करूं?


17

मैंने देखा कि ओएस एक्स पर टॉमकैट स्थापित करने के लिए कोई पूर्ण गाइड नहीं है जिसमें बूट समय पर शुरू करने के लिए इसे स्थापित करना शामिल होगा।

यहाँ त्वरित गाइड है:

  • macports स्थापित करें
    • 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

    सी.पी. /conf/tomcat-users.xml

  • ... लेख की जाँच करें

लेकिन मुझे यह याद आ रहा है कि इसे सच्ची सेवा / डेमॉन के रूप में कैसे चलाया जाए: सिस्टम स्टार्टअप पर और वैकल्पिक रूप से इसे क्रैश होने पर फिर से चालू करने के लिए।


जब वे आधिकारिक बायनेरी उपलब्ध हों तो मैकपोर्ट का उपयोग क्यों करें? मुझे निर्भरता से नफरत है कुछ मैक उपयोगकर्ताओं के पास मैकपोर्ट्स के लिए है, खासकर जब अधिकांश मैकपोर्ट्स पैकेज पुराने हैं और इस प्रकार आप खुद को सुरक्षा छेद तक खोलते हैं।
Cromulent

साइमन, यह आवश्यक है क्योंकि macports भी एक पैकेज मैनेजर है इसलिए आपको इस तरह से उपयोग करने में बहुत सारी समस्याएं आएंगी। साथ ही आप बहुत आसानी से टॉमकैट को अपग्रेड कर पाएंगे।
सोरिन

जवाबों:


13

यह 8080 पोर्ट पर एक डेमॉन के रूप में टॉमकैट स्थापित करने के लिए है, लेकिन फ़ायरवॉल पुनर्निर्देशन का उपयोग करके भी पोर्ट 80 को सक्षम करें। यह मैक ओएस 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

जावा मशीन को पर्याप्त मेमोरी असाइन करें या आप बाद में परेशानी में पड़ सकते हैं। के भीतर/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"

अपने उदाहरण में मैंने ~ 3Gb या RAM आवंटित किया लेकिन आप इसे अनुकूलित कर सकते हैं, वैसे भी अगर आप hudsontomcat के अंदर चल रहे हैं तो 1GB से कम न रखें ।

सेवा के रूप में चल रहा है

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>

जाँच करें कि लॉन्च ने आपको नए डेमॉन का पता लगाया, अगर रिबूट नहीं :(

launchctl list|grep tomcat

मैन्युअल रूप से टॉमकैट शुरू करें।

launchctl start org.apache.tomcat

यदि स्थिति कुछ और है -, तो आपको एक समस्या है और आपको इसकी जांच करनी चाहिए: launchctl log level debugऔर जाँच करें /var/log/system.log


1
मैं जैसा कि मैं मैक के लिए नया हूँ (OS X 10.8.2) हो सकता है, लेकिन मुझे करना था: sudo launchctl load -w /Library/LaunchDaemons/org.apache.tomcat.plist इसे शुरू करने के लिए
स्टीव

जब तक मैंने फ़ाइल का स्वामी नहीं बनाया, मुझे यह काम नहीं आया root। तो, फ़ाइल प्रकार का संपादन करते समयsudo nano /Library/LaunchDaemons/org.apache.tomcat.plist
रोस्टीस्लाव Druzhchenko

1

आपको टॉमकैट को एक आइटम के रूप में पंजीकृत करना होगा, जिसे स्टार्टअप पर निष्पादित करने की आवश्यकता है। मैक ओएस पर, इसे लॉन्चड ( http://developer.apple.com/macosx/launchd.html ) द्वारा नियंत्रित किया जाता है । मुझे नहीं पता कि लॉन्चड ऑटो रीस्टार्ट करने का समर्थन करता है, लेकिन अन्यथा आपको पर्यवेक्षक ( http://supervisord.org/ ) जैसी किसी चीज़ पर ध्यान देना चाहिए ।


हां, लॉन्चड के पास एक विकल्प है, जो हां / नहीं और चार वैकल्पिक स्थितियों के साथ है।
फ्लुमिग्नन

1

स्टार्टअप पर स्नो लेपर्ड लॉन्च के लिए मैंने / Library / LaunchDaemons / में एक plist फ़ाइल बनाई। 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>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.