2011-02-08 6 views
6

पर लाइटटैड पर रेल और PHP चलाना ठीक है, मैं सोच रहा हूं कि उबंटू पर लाइटी पर रेल और PHP दोनों चलाने का कोई तरीका है या नहीं। मैं अपने PHP परियोजनाओं और रेल परियोजनाओं को एक सर्वर/डोमेन पर चलाने के लिए चाहता हूं।लिनक्स

मुझे वास्तव में लिनक्स के साथ थोड़ा सा अनुभव है, इसलिए मेरी नैतिकता को क्षमा करें।

तो थेरेस यह कर कृपया मुझे बताएँ :)

उत्तर

3

यह दोनों को चलाने के लिए वास्तव में काफी आसान है। मैं इसे हर समय करता हूं (आरआरओ रेडमाइन चलाने के लिए, और बाकी के लिए PHP)।

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

यदि आपके पास विशिष्ट प्रश्न हैं, तो मैं मार्गदर्शन कर सकता हूं, लेकिन इंटरनेट पर गाइड कैसे करें इसे कैसे करें।

मेरे lighttpd.conf:

$HTTP["host"] =~ "my.ror.site" { 
    server.error-handler-404="/dispatch.fcgi" 
    fastcgi.server = (".fcgi" => ("ror_1" => (
      "min-procs"=>8, 
      "max-procs" => 8, 
      "socket" => "/tmp/myrorlock.fastcgi", 
      "bin-path"=> "/path/to/ror/site/public/dispatch.fcgi", 
      "kill-signal" => 9, 
      "bin-environment" => ("RAILS_ENV" => "production") 
    ))) 
} 

fastcgi.server = (".php" => 
    (
     (
      "socket" => "/tmp/php-fastcgi.socket", 
      "bin-path" => "/usr/bin/php-cgi -c /etc/php.ini", 
      "min-procs" => 1, 
      "disable-time" => 1, 
      "max-procs" => 1, 
      "idle-timeout" => 20, 
      "broken-scriptfilename" => "enable", 
      "bin-copy-environment"=> (
       "PATH", "SHELL", "USER" 
      ), 
      "bin-environment" => (
       "PHP_FCGI_CHILDREN" => "40", 
       "PHP_FCGI_MAX_REQUEST" => "50000" 
      ) 
     ) 
    ) 
) 

और बस हो गया। kill-signal विकल्प पर ध्यान दें। यह महत्वपूर्ण है, अन्यथा जब भी आप सर्वर को पुनरारंभ करते हैं, तो हर जगह आप ज़ोंबी प्रक्रियाओं के साथ हवादार हो जाएंगे ...

+0

प्रतिक्रिया के लिए धन्यवाद, ऐसा लगता है कि यह मेरी समस्या का समाधान करेगा: डी – Zen

+0

'$ HTTP [" होस्ट "] = ~" my.ror.site "' - '= ~' इसका मतलब है कि यह एक नियमित अभिव्यक्ति तुलना कर रहा है, जिसकी आवश्यकता नहीं हो सकती है। जब आप सामान्य स्ट्रिंग तुलना करना चाहते हैं तो '==' का उपयोग करें। [अधिक जानकारी] (http://redmine.lighttpd.net/wiki/lighttpd/Docs: कॉन्फ़िगरेशन^शर्त- कॉन्फ़िगरेशन)। इसके अलावा, नमूना के लिए धन्यवाद! –

+0

@ गारेट: अच्छा बिंदु। मैं वास्तव में अपने में रेगेक्स का उपयोग करता हूं (क्योंकि कुछ कारणों से इसे इंगित करने वाले एक से अधिक डोमेन हैं)। मैंने इसे पोस्ट करने के लिए अभी इसे हटा दिया (sanitized)। लेकिन यह उल्लेख करने लायक कुछ है ... – ircmaxell

-2

मैं lighty का उपयोग नहीं करते करने का एक तरीका। अपाचे में पैसेंजर ऐड-ऑन की शक्ति पर विचार करते हुए यात्रियों को यात्री और अपाचे के साथ सबसे अच्छी सेवा दी जाती है। मैंने वर्डप्रेस (PHP) को उसी डोमेन में सेवा दी, जैसे कि मेरे रेल ऐप कहीं और इसके पथ को इंगित करके। Here's an article to follow। HTH।

+0

उत्तर के लिए धन्यवाद, लेकिन मैंने इसे हल्के, अपाचे पर चलाने के लिए कॉन्फ़िगर करने में सहायता के लिए कहा। विशेष रूप से अपाचे नहीं। – Zen

1

lighty के विन्यास निर्देशिका के conf.d उपनिर्देशिका में बाहर fastcgi.conf चेक (यकीन है कि जहां यह Ubuntu पर स्थित है नहीं है, लेकिन एक त्वरित खोज से पता चलता है /etc/lighttpd)। PHP और Rail दोनों के लिए टिप्पणी-आउट उदाहरण हैं; दोनों को जोड़कर, आपको उस सेट-अप को प्राप्त करने में सक्षम होना चाहिए जिसे आप ढूंढ रहे हैं (हालांकि मैं सुझाव देता हूं कि पहले एक काम करना और फिर दूसरे को स्थापित करना)।

FastCGI वह तरीका है जिसके द्वारा लाइटी रूबी या PHP जैसे रनटाइम के साथ संवाद कर सकती है। लाइटी एससीजीआई का भी उपयोग कर सकती है, हालांकि मैंने कभी इसका इस्तेमाल नहीं किया है और मुझे यकीन नहीं है कि यह कितना अच्छा काम करता है (आखिरी मैंने सुना है कि यह अभी भी प्रयोगात्मक-आईएसएच था)।

आपको लाइटी के दस्तावेज़ीकरण विकी पर Optimizing FastCGI पृष्ठ भी मिल सकता है, हालांकि यह काफी PHP/MySQL- विशिष्ट है।

+0

एक नज़र डालेगा, – Zen