2012-11-03 57 views
5

मैं कुछ दिनों के लिए AppFog पाएएस सिस्टम का उपयोग कर रहा हूं, और मुझे यह पसंद है, शायद यह सबसे अच्छा पास सिस्टम है जिसे मैंने परीक्षण किया है (मैंने उपयोग किया है अन्य 3 पहले पहले), लेकिन वेब सर्वर के साथ स्थिर सामग्री (अपाचे https या nginx) के साथ स्थिर सामग्री को कैसे सेवा प्रदान करने के बारे में जानकारी नहीं मिली, मुझे यकीन नहीं है कि सर्वर का उपयोग किस प्रकार किया जा रहा है।एपफ़ोग (डब्लूएसजीआई पायथन ऐप) में अपाचे के साथ स्थैतिक सामग्री कैसे प्रदान करें

मेरा ऐप चेरीपी के साथ एक पायथन डब्लूएसजीआई है और ऐपफोग में पूरी तरह से काम करता है लेकिन मुझे स्थिर सामग्री की सेवा करने के लिए चेरीपी नहीं है, मुझे लगता है कि अपाचे httpd या nginx इसके लिए एक बेहतर विकल्प है।

+0

मुझे लगता है कि मैं गलत हूँ और AppFog अजगर क्षुधा के लिए प्रॉक्सी सर्वर के बजाय अपाचे httpd के रूप में nginx का उपयोग चलाने की जरूरत है, वैसे भी, मुझे अभी भी स्थिर सामग्री तक सीधी पहुंच को कॉन्फ़िगर करने की आवश्यकता है। – Roberto

+0

यदि मेरा उत्तर सहायक था तो कृपया इसे अपने समाधान के रूप में सेट करें। धन्यवाद! –

उत्तर

0

अपनी nginx.conf फ़ाइल संपादित करें। सर्वर अनुभाग में प्रवेश करें ...

# serve static files 
     location ~ ^/(images|javascript|css)/ { 
     root /var/www/html/appname; 
    } 

छवियां, जावास्क्रिप्ट और सीएसएस आपके दस्तावेज़ रूट फ़ोल्डर में फ़ोल्डर्स होंगे। तदनुसार अपने सभी यूआरएल अपडेट करें।

+1

धन्यवाद एंड्रयू, लेकिन जहां तक ​​मुझे पता है कि AppFog http.conf apache फ़ाइल तक पहुंच की अनुमति नहीं देता है :-( – Roberto

+0

nginx सर्वर के लिए अद्यतन उत्तर। –

+0

हाय एंड्रयू जैसा कि मैंने पहले उल्लेख किया था, मेरे पास सर्वर कॉन्फ़िगरेशन फ़ाइल तक कोई पहुंच नहीं है, मेरा ऐप ऐपफोग में चलता है और मैं केवल अपने ऐप डीआईआर के अंदर फाइलों को बदल सकता हूं। मैंने यह सुनिश्चित करने के लिए ऐपफॉग में एक टिकट खोला है कि यह सुविधा संभव है या नहीं (अन्य पैस सिस्टम में ओपनशफ्ट के रूप में ऐसा करना संभव है)। वैसे भी, धन्यवाद आपका उत्तर – Roberto

2

रयान के समर्थन के साथ, मैं अंत में स्थैतिक फाइलों को लोड करने में सक्षम हूं! - यहाँ सभी स्थैतिक फ़ाइलें collectstatic आदेश चलाकर एकत्र किया जाएगा

  1. परियोजना जड़ में एक 'स्थिर' निर्देशिका निर्मित: ये कदम उठाएँ।

  2. संपादित settings.py फ़ाइल:

    STATIC_ROOT = os.path.join (os.path.abspath (os.path.dirname (फ़ाइल)), '../static') # आपकी सेटिंग्स.py फ़ाइल कहां है इसके आधार पर बदल सकता है!

    STATIC_URL = '/ स्थिर /' urlpatterns में चर urls.py फ़ाइल में

  3. जोड़ें निम्नलिखित पंक्ति:

    यूआरएल (आर '^ स्थिर/(पी *) $?।', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),

  4. अंत में, अपनी स्थानीय मशीन में संग्रहित आदेश चलाएं। इस एप्लिकेशन के प्रयोग कर रहे हैं से सभी स्थैतिक फ़ाइलों की प्रतिलिपि जाएगा:

    अजगर manage.py collectstatic

यह है कि। पुश वायुसेना में :)

गिरावट: collectstatic हर बार हम एक नए स्थिर फ़ाइल है ...

+1

हाय @ गीगा, मूल प्रश्न यह है कि ऐपफॉग फ्रंटएंड (अपाचे httpd या nginx) से स्थिर सामग्री कैसे प्रदान करें, पायथन ऐप से नहीं। दरअसल, मैं पहले से ही अपने पाइथन ऐप से चेरीपी ऐप का उपयोग कर स्थिर फाइलों की सेवा कर रहा हूं (मैंने कहा कि मेरी मूल पोस्ट में), लेकिन पाइथन प्रोग्राम (या जावा या जो कुछ भी) परिपक्व वेब सर्वर के रूप में स्थिर फाइलों की सेवा करने में सक्षम नहीं हैं। – Roberto

+0

ओह। मुझे पहले स्थान पर पायथन द्वारा statics की सेवा करने में परेशानी हो रही थी ...: पी – giga

+0

तो AppFog में आप ngix.conf को संशोधित नहीं कर सके? –