2012-11-22 32 views
11

पर पाइथन सीजीआई एप्लिकेशन चलाएं मैंने एक साधारण एप्लिकेशन बनाया है जो पायथन सीजीआई स्क्रिप्ट का उपयोग करता है। मेरे पास एक कामकाजी स्थानीय संस्करण है (lighttpd के साथ ठीक काम करता है), लेकिन अब मैं इसे हेरोकू में अपलोड करना चाहता हूं। एप्लिकेशन में 2 या 3 स्क्रिप्ट शामिल हैं जो फ़ाइल पर संचालन करती हैं और ब्राउज़र पर प्रिंट जानकारी वापस लेती हैं, इसलिए मुझे नहीं लगता कि मुझे CGI के अलावा किसी भी मॉड्यूल की आवश्यकता होगी।हेरोकू

लेकिन Heroku documentation केवल फैंसी वेब ढांचे के साथ पाइथन अनुप्रयोगों को अपलोड करने का तरीका बताता है, और मैं इनमें से किसी का भी उपयोग नहीं कर रहा हूं।

मैं जानना चाहता हूं कि हेरोकू पर सीजीआई स्क्रिप्ट चलाने के लिए संभव है, और यदि ऐसा है, तो इसे कैसे करें।

+0

इसे सीजीआई-सक्षम निर्देशिका को छोड़कर, आप स्थिर फ़ाइलों को कैसे बनाएंगे। –

+0

मैं हरोकू के लिए बिल्कुल नया हूं। मुझे यकीन नहीं है कि सीजीआई-सक्षम निर्देशिका कैसे प्राप्त करें। वे Virtualenv के बारे में कुछ भी उल्लेख करते हैं, यकीन नहीं है कि मुझे CGI फ़ाइलों को अपलोड करने के लिए ऐसा करना होगा। अगर मैं सही ढंग से समझ गया, तो मुझे बस गिट रेपो क्लोन करना होगा, फ़ाइलों को रूट निर्देशिका में कॉपी करना होगा, प्रतिबद्ध करें, पुश करें और किया जाए? – user1002327

+0

वर्चुअलनव के पास कुछ भी नहीं है (ठीक है, बहुत कम) इसके साथ करने के लिए, और सीजीआई सक्षम करना एक वेब सर्वर मुद्दा है, न कि हरोकू मुद्दा प्रति। –

उत्तर

8

हेरोोक सीडर स्वयं-होस्टिंग वेब अनुप्रयोगों के आसपास केंद्रित है, इसलिए आपको अपने एप्लिकेशन को एक साथ बंडल करने और इसे एक कमांड के रूप में चलाने में सक्षम होना चाहिए।

मुझे लगता है कि आपके आवेदन को फ्लास्क पर पोर्ट करना सबसे आसान तरीका होगा। यह बहुत जटिल नहीं है, खासकर अगर यह केवल 2 या 3 स्क्रिप्ट है।

एक अन्य विकल्प (आपकी प्रदर्शन आवश्यकताओं के आधार पर) पाइथन मानक पुस्तकालय और Python buildpack में सरल CGI server का उपयोग करना होगा। मुझे लगता है कि आप के साथ एक ./cgi-bin निर्देशिका में अपनी स्क्रिप्ट ऊपर बंडल और सर्वर (procfile में) शुरू करने के लिए की आवश्यकता होगी: एक साथ lighttpd और अपनी स्क्रिप्ट बंडल करने

web: bin/python -m CGIHTTPServer $PORT 

सबसे जटिल तरीका होगा और इसे शुरू करने के लिए एक खोल स्क्रिप्ट लिखें। आपको यह सुनिश्चित करना होगा कि आपकी संकलित बाइनरी Heroku के साथ संगत है। मैं PHP buildpack को शुरुआती बिंदु के रूप में देखता हूं। , केवल शुद्ध, हम सीजीआई शैली अनुप्रयोगों का समर्थन नहीं करते

हैलो,

दुर्भाग्य:

+0

मुझे नहीं पता था कि पायथन के पास सीजीआई समर्थन के साथ एक वेब सर्वर था। यह बहुत मजेदार है। मैं दूसरे या तीसरे तरीके से कोशिश करूंगा, क्योंकि मेरे पास एप्लिकेशन को पोर्ट करने में कोई दिलचस्पी नहीं है। – user1002327

+1

मुझे आशा है कि यह आपके लिए काम करेगा। मैं स्थानीय रूप से पहले CGI सर्वर को आजमाउंगा, यह देखने के लिए कि क्या यह आपकी स्क्रिप्ट चलाने में सक्षम है और निर्देशिका संरचना को भी काम करने में सक्षम है। फिर जानें कि हेरोोकू के लिए इसे कैसे पैकेज करें। – groodt

+0

स्क्रिप्ट किसी भी अजीब पायथन निर्माण का उपयोग नहीं करते हैं, मुझे लगता है कि वे ठीक काम करेंगे। जब मैं सबकुछ अपलोड करता हूं तो मैं स्थानीय रूप से सर्वर को आज़माउंगा और अपना जवाब स्वीकार करूंगा। धन्यवाद। – user1002327

0

मैं एक cgi आवेदन है कि मैं Heroku के प्लेटफ़ॉर्म पर सेवा करने की कोशिश की और यहाँ के बारे में Heroku समर्थन के साथ पूछताछ की प्रतिक्रिया है -पथन वाले। आपके पास पाइथन CGIHTTPServer मॉड्यूल के साथ कुछ भाग्य हो सकता है, लेकिन यदि यह आपकी आवश्यकताओं के अनुरूप नहीं है, तो आप भाग्य से बाहर हो सकते हैं।