लाइटपट के साथ काम करने के लिए पायथन कैसे प्राप्त करें?


25

मुझे अपने रास्पबेरी पाई पर लाइटटैप्ड सेटअप मिला है, लेकिन मैं अब सर्वर-साइड कोड प्राप्त करना चाहूंगा। मैं PHP से परिचित हूं, लेकिन मुझे लगता है कि मुझे पायथन की कोशिश करनी चाहिए क्योंकि यह रास्पबेरी पाई के लिए "गो" भाषा होना चाहिए। मैं लाइटटपैड के माध्यम से सर्वर-साइड कोड हैंडलिंग पायथन कैसे प्राप्त कर सकता हूं?


penzilla.net/tutorials/python/cgi लिंक टूट गया है, लेकिन महान राइटअप के लिए धन्यवाद। मेरा पी कल आता है!

जवाबों:


16

क्या आप की जरूरत है lighttpd के लिए CGI समर्थन है।

Lighttpd कॉन्फ़िगरेशन फ़ाइल ( /etc/lighttpd/lighttpd.conf ) खोलें और " mod_cgi " लाइन को अनइंस्टॉल करें ( यदि मौजूद है तो लाइन की शुरुआत से # हटा दें) या मौजूद होने पर इस लाइन को जोड़ें।

server.modules = (
            "mod_access",
            "mod_alias",
            "mod_accesslog",
            "mod_auth",
            "mod_ssi",
            "mod_cgi",
            "mod_compress",
            "mod_fastcgi",
            "mod_rewrite",
            "mod_magnet",
)

फ़ाइल के नीचे करने के लिए निम्नलिखित जोड़ें:

$HTTP["url"] =~ "^/cgi-bin/" {
        cgi.assign = ( ".py" => "/usr/bin/python" )
}

लाइटटैप डेमॉन को फिर से शुरू करें:

sudo service lighttpd force-reload

फिर अपने वेबसर्वर की रूट डायरेक्टरी के तहत एक cgi-bin डायरेक्टरी बनाएं । इस निर्देशिका में .py के साथ समाप्त होने वाली किसी भी फाइल को पायथन द्वारा संसाधित किया जाएगा।

अब आप वेब अनुरोधों को संभालने के लिए पायथन स्क्रिप्ट लिख सकते हैं। आप पायथन के साथ CGI प्रोग्राम लिखने पर इस ट्यूटोरियल को पढ़ना चाह सकते हैं ।

यदि दूसरी तरफ आप कुछ निम्न स्तर के विवरणों को संभालने और डेवलपर उत्पादकता में सुधार करने के लिए एक फ्रेमवर्क का उपयोग करेंगे, तो मेरा सुझाव है कि वेबदोक्स की जाँच करें । आप इसे apt का उपयोग करके स्थापित कर सकते हैं:

sudo apt-get install python-webpy

क्लाउड 101 ब्लॉग पर लुकास ने वेबपीस फ्रेमवर्क का उपयोग करके वेब पेज लिखने पर एक शानदार ट्यूटोरियल पोस्ट किया है ।


क्या यह FastCGI या CGI है?
मार्क इनग्राम

ध्यान दें कि सादे सीजीआई को हर अनुरोध के लिए अजगर दुभाषिया शुरू करने की आवश्यकता होती है, इसलिए यह केवल सामयिक अनुरोध के लिए अनुकूल है।
थोरबजोरन रावन एंडरसन

काश यह केवल आंशिक रूप से काम करता। मैं अब "http: // (IP) /cgi-bin/test.py?parameter=xxx" पर कॉल करके पायथन चला सकता हूं, लेकिन "http: // (IP) /cgi-bin/test.cgi?parameter=xxx पर नहीं। "- बाद में एक 404 त्रुटि देता है ...
576i

@ 576i इस लाइन को बदलने की कोशिश करें cgi.assign = (".py" => "/ usr / bin / python") को cgi.assign = (".cgi" => "/ usr / bin / python")
स्टीव रॉबिलार्ड।

1
@ 576i किसी अन्य प्रश्न की टिप्पणियों में इस चर्चा को जारी रखने के बजाय, कृपया एक नया प्रश्न खोलें और इसमें शामिल हैं कि आपने क्या काम किया है और क्या प्रयास किया है। फिर मैं इन टिप्पणियों को हटा दूंगा। BTW किसी भी कारण से आप सिर्फ .py एक्सटेंशन के साथ नहीं जा सकते हैं, जो आपने कहा था कि काम करता है?
स्टीव रोबिलार्ड

3

स्वीकृत जवाब मेरे काम नहीं आया और यह उन पहले से कॉन्फ़िगर किए गए पैकेजों को भी नजरअंदाज करता है, जो लाइटटैप के लिए उपलब्ध हैं।

रास्पबेरी के लिए लाइटटैप पर पायथन को स्थापित करने का सही तरीका है:

पहले cgi को सक्षम करें

sudo lighttpd-enable-mod cgi

यह लाइटटैप के लिए एक नई विन्यास फाइल बनाता है:

/etc/lighttpd/conf-enabled/10-cgi.conf

इसके nano /etc/lighttpd/conf-enabled/10-cgi.confसमान दिखने के लिए, कॉन्फ़िगरेशन फ़ाइल को संपादित करें

server.modules += ( "mod_cgi" )

$HTTP["url"] =~ "^/cgi-bin/" {
        alias.url += ( "/cgi-bin/" => "/var/www/cgi-bin" )
        cgi.assign = (
                ".py"  => "/usr/bin/python",
        )
}

सुनिश्चित करें कि अजगर 2 को क्रियान्वित करके स्थापित किया गया है:

/usr/bin/python --version

अब, पुनः आरंभ करें

sudo /etc/init.d/lighttpd force-reload

सौभाग्य!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.