Nginx: विभिन्न यूआरएल के लिए अलग-अलग स्थिर फाइलें


0

मेरे पास दो वेब एप्लिकेशन एक ही सर्वर पर चल रहे हैं, कहते हैं, app1 और app2

app1 ROOT एप्लीकेशन है, अर्थात जब भी कोई भी URL को हिट करेगा, उसे लॉन्च किया जाएगा, कहते हैं, http://example.com/

app2 एक और अनुप्रयोग है, जो तब हिट होगा जब कोई URL को हिट करेगा, कहेगा, http://example.com/newapp/

मैं वेब के रूप में nginx का उपयोग कर रहा हूं, और दोनों वेब एप्लिकेशन की सेवा करने के लिए अपनी स्वयं की स्थिर सामग्री (js, css, छवियाँ) हैं।

के लिए APP1 मैं, निम्नलिखित का उपयोग कर रहा

 location ~* \.(js|css|png|jpg|jpeg|gif|ico) {
      root <path_to_tomcat>/webapps/ROOT;
      expires 1y;
      log_not_found off;
 }

यह बहुत अच्छा काम करता है और स्थिर सामग्री आकर्षण की तरह काम करती है।

और app2 के लिए मैं उपयोग कर रहा हूँ,

 location ~* /newapp+\.(js|css|png|jpg|jpeg|gif|ico) {
      root <path_to_tomcat>/webapps/app2;
      expires 1y;
      log_not_found off;
 }

के लिए APP2 स्थैतिक सामग्री कभी नहीं परोसा जाता है।

मैंने इसके बारे में नेट में खोज करने की कोशिश की, लेकिन URL के आधार पर अलग-अलग स्टेटिक की सेवा के लिए सटीक लिंक नहीं मिले।


+अपने regex में लागू होता है p। शायद आप एक /.से पहले याद कर रहे हैं+
रिचर्ड स्मिथ

जवाबों:


0

rootनिर्देश सरल शारीरिक रास्तों जहां यूआरआई पथ के अंतिम हिस्सा है निर्माण करने के लिए इस्तेमाल किया जा सकता।

आप यूआरआई को मैप कर सकते हैं जैसे कुछ /newapp/resource.cssका उपयोग rootकरना:

/path/to/tomcat/webapp/newapp/resource.css

root /path/to/tomcat/webapp;कथन का उपयोग करना ।

यदि आपको URI को किसी ऐसे भौतिक पथ पर ले जाना चाहिए जिसमें संपूर्ण URI नहीं है, तो आपको किसी अन्य तकनीक का उपयोग करना होगा, जैसे कि aliasया rewrite

व्यक्तिगत रूप से, निर्देशिका का नाम बदलने और उपयोग करने के लिए यह अधिक कुशल होगा root

देखें इस और इस जानकारी के लिए।


आपके प्रतिक्रिया के लिए धन्येवाद। मेरी चिंता यह है कि "स्थान <param>" <param> स्वयं newapp के साथ मेल नहीं खा रहा है और access.log में मैं सभी JS और CSS के लिए 404 प्राप्त कर रहा हूं
गोकुल कुलकर्णी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.