2008-12-15 13 views
9

तो मैं इस गाइड का अनुसरण कर रहा हूं: http://technotes.1000lines.net/?p=23 और मैं चरणों के माध्यम से जा रहा हूं। मेरे पास एक वीपीएन (slicehost.com) है डेबियन एच्च के साथ, एक वेबसाइट (स्थिर अब तक) nginx के साथ सेवा। मैंने फास्टसीजीआई डाउनलोड करने के लिए wget का उपयोग किया और मैंने सामान्य रूप से नियमित रूप से स्थापित करने के लिए किया।मैं Nginx पर FastCGI का उपयोग कर पर्ल स्क्रिप्ट कैसे चला सकता हूं?

तो मुझे लगता है कि फास्टसीजीआई आमतौर पर सीजीआई स्क्रिप्ट नहीं चला सकता है, आपको पर्ल की व्याख्या करने के लिए कुछ प्रकार के पर्ल रैपर का उपयोग करना पड़ता है।

अब मैं इस स्क्रिप्ट

http://technotes.1000lines.net/fastcgi-wrapper.pl

चलाने के लिए और मैं ठीक उसी समस्या यह है कि एक व्यक्ति पृष्ठ है कि स्क्रिप्ट प्रस्तुत की गई थी पर में भाग में चलाने:

http://www.ruby-forum.com/topic/145858

(मैं एक रूबी व्यक्ति नहीं हूं और वहां रूबी उन्मुख नहीं है)

मुझे एक

# bind/listen: No such file or directory 

और मुझे नहीं पता कि आगे कैसे बढ़ना है। मैं किसी भी मदद की सराहना करता हूं और मैं कोई और विवरण दे सकता हूं जिसे किसी को भी चाहिए।

उत्तर

12

फास्टसीजीआई एप्लिकेशन से कनेक्ट करने के लिए वेबसर्वर को यूनिक्स डोमेन सॉकेट की आवश्यकता है, लेकिन सॉकेट नहीं बनाया जा सकता है। सबसे अधिक संभावना है कि आप जिस निर्देशिका में होना चाहते हैं वह अस्तित्व में नहीं है (क्योंकि जब आप bind करते हैं तो वे स्वचालित रूप से बनाए जाते हैं)।

+4

यही कारण है कि मैं StackOverflow प्यार करता हूँ। मैंने उस समस्या पर लगभग 3 घंटे तक काम नहीं किया, और आप जल्दी ही इसके कारण को समझने में सक्षम थे। बहुत बहुत धन्यवाद, आपने मुझे बहुत उत्तेजना बचाई है। – rey

4

लियोन बिल्कुल सही है। सॉकेट को सुनने की अनुमति देने के लिए दो पूर्वापेक्षाएँ हैं:

  1. सुनिश्चित करें कि सॉकेट निर्देशिका मौजूद है।
  2. यह fastcgi-wrapper.pl स्क्रिप्ट में /var/run/nginx/perl_cgi-dispatch.sock के रूप में परिभाषित किया गया है। इसलिए, आपको यह सुनिश्चित करना होगा कि/var/run/nginx मौजूद है।
  3. सुनिश्चित करें कि सॉकेट निर्देशिका उसी उपयोगकर्ता द्वारा स्वामित्व में है जो fastcgi-wrapper.pl को निष्पादित किया जा रहा है।
0

मैं कोशिश कर रहा हूं और "पानी नीचे" fastcgi-wrapper.pl का उपयोग कर रहा हूं, इसलिए इसका उपयोग spawn-fcgi के साथ किया जा सकता है।

spawn-fcgi -C 3 -u www-data -s /var/run/php-fcgi.sock -P /var/run/php-fcgi.pid -- /usr/bin/php5-cgi 
spawn-fcgi -F 3 -u www-data -s /var/run/lua-fcgi.sock -P /var/run/lua-fcgi.pid -- /usr/bin/wsapi.fcgi 

अंदर/var/रन रहा है:

-rw-r--r-- 1 root  root  14 2010-08-07 12:14 /var/run/lua-fcgi.pid 
srwxr-xr-x 1 www-data www-data 0 2010-08-07 12:14 /var/run/lua-fcgi.sock= 
-rw-r--r-- 1 root  root  4 2010-08-07 12:14 /var/run/php-fcgi.pid 
srwxr-xr-x 1 www-data www-data 0 2010-08-07 12:14 /var/run/php-fcgi.sock= 

मैं आसानी से शुरू करने और FastCGI रैपर बंद कर सकते हैं, और मुझे लगता है कि क्या करना चाहते हैं

मैं उन सॉकेट allready से दो का उपयोग पर्ल के साथ भी।

यदि किसी के पास पहले से ही एक स्क्रिप्ट है, जो स्पॉन-एफसीजीआई के साथ काम करती है, तो मैं इसका उपयोग करने के लिए तैयार हूं, या कम से कम इसे देखें।

चीयर्स, --polemon

संबंधित मुद्दे