2013-02-27 159 views
5

tomcat and extracted files के संदर्भ में मैंने server.xml को auto deploy : true पर कॉन्फ़िगर किया है। मेरा युद्ध फ़ाइल नाम ROOT.war है क्योंकि मैं साइट.com के बाद/subdir नहीं चाहता हूं।टॉमकैट को युद्ध फ़ाइलों को कैसे विस्फोट करना है

लेकिन मुझे .css .js .java या .class फ़ाइलों को/webappts/ROOT या कहीं भी नहीं दिखाई देता है। (मैं उन्हें ROOT.war में है और साइट ठीक उन्हें दर्शाती के साथ चल रहा है)

मैं केवल

/var/cache/tomcat7/Catalina/localhost/_/org/apache/jsp/ 

/var/cache/tomcat7/Catalina/localhost/_/WEB-INF/classes/ 

में .class और जावा देखते हैं कि कैसे बिल्ला कॉन्फ़िगर करने के लिए .war फ़ाइल विस्फोट के लिए?

अद्यतन मैं

मैं Host name="localhost" appBase="/home/ubuntu/www" unpackWARs="true" autoDeploy="true" है और मैं अभी भी खोल को देखने नहीं है। मेरे ROOT.war है में/घर/Ubuntu/www

अद्यतन द्वितीय

एक समस्या यह है मैं देख रहा हूँ यह है कि:

Feb 27, 2013 6:29:02 PM org.apache.catalina.startup.HostConfig deployWAR 
INFO: Deploying web application archive /home/ubuntu/www/ROOT.war 
Feb 27, 2013 6:29:02 PM org.apache.catalina.startup.ContextConfig init 
SEVERE: Exception fixing docBase for context [] 
java.io.IOException: Unable to create the directory [/home/ubuntu/www/ROOT] 
     at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:100) 
     at org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:720) 
     at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:843) 

मैं स्वयं मेकअप जड़ में हैं/घर/ubuntu/www/chmod 777 के साथ। यह त्रुटि (मौजूद नहीं है)

+1

क्या .css, और .js फ़ाइलें वास्तव में WAR फ़ाइल में हैं? (.java फाइलें जिन्हें आपको वहां नहीं देखना चाहिए ...) – ppeterka

+0

@ppeterka हाँ वे – kevin

+0

क्षमा करें अगर यह मूर्खतापूर्ण लगता है, लेकिन क्या सर्वर चल रहा है? मैंने आपके सेटअप के साथ देखा है यदि आप निर्देशिका में युद्ध फ़ाइल डालते हैं और सर्वर को विस्तारित करते हैं (मैं यहां आधार से बाहर हो सकता हूं)। – onaclov2000

उत्तर

10

आपका/घर/Ubuntu/www फ़ोल्डर बिलाव प्रक्रिया के द्वारा लिखने योग्य होने की जरूरत है। मालिक और समूह tomcat6/tomcat7 होना चाहिए (आप जिस टीसी का उपयोग करते हैं उसके आधार पर)। इस तरह:

drwxrwxr-x 4 tomcat7 tomcat7 4096 Feb 27 14:08 webapps 

आपको फ़ोल्डर को 777 chmod नहीं करना चाहिए, यह एक सुरक्षा जोखिम है जैसा आपने सही ढंग से अनुमान लगाया है। 'chown tomcat7: tomcat7' काम करना चाहिए।

+0

बहुत बढ़िया! यह मेरी समस्या हल हो गई। एक नोट, मैं टॉमकैट 7 का उपयोग कर रहा हूं और इसका उपयोग करना था: सुडो चाउन टोमकैट: टोमकैट/var/lib/tomcat7/webapps / – TrippinBilly

1

आपको यह सुनिश्चित करने की आवश्यकता है कि unpackWARs==true सेट है।

सही पर सेट किया है, तो आप वेब अनुप्रयोगों जो वेब एप्लिकेशन संग्रह (युद्ध) फ़ाइलों के रूप में appBase निर्देशिका में रखा जाता है एक इसी डिस्क निर्देशिका संरचना में अनपैक किया हो, से सीधे इस तरह के वेब एप्लिकेशन चलाने में झूठी चाहते एक युद्ध फ़ाइल। होस्ट की ऐपबेस के बाहर स्थित WAR फ़ाइलें विस्तृत नहीं की जाएंगी।

स्रोत: http://tomcat.apache.org/tomcat-6.0-doc/config/host.html#Standard_Implementation

+0

है, इसके विपरीत, कृपया अद्यतन देखें – kevin

+0

स्टोर अपडेट 2 देखें कृपया – kevin

+0

प्लस +1 भी वैध उत्तर के लिए। – kevin