2013-06-18 6 views
6

मुझे इस विषय के बारे में कोई दस्तावेज, कोई ब्लॉगपोस्ट या अन्य संसाधन नहीं मिल रहा है।आप उत्पादन के लिए हैप्स्टैक एप्लिकेशन कैसे तैनात करते हैं?

From what I have seen so far there seems to be support for FastCGI लेकिन इस परियोजना के पास 4 वर्षों तक कोई प्रतिबद्धता नहीं है। और फिर mod_proxy शायद इस्तेमाल किया जा सकता है। हो सकता है कि आप केवल हैप्स्टैक एप्लिकेशन को एक डिमन के रूप में चला सकें जो सभी अनुरोधों को स्वयं ही संभालता है।

मैं बस अनुमान लगा रहा हूं, यह देखना वास्तव में अच्छा होगा कि अनुभव वाले लोग क्या कहते हैं!

+3

अधिकांश ब्रह्मांड में मानक इन दिनों एक nginx रिवर्स प्रॉक्सी का उपयोग कर रहा है। – Carl

+1

आम तौर पर मैं सिर्फ खुशहाल के बिल्टिन वेब सर्वर का उपयोग करता हूं, जो ज्यादातर मामलों के लिए पर्याप्त है। –

उत्तर

4

@ कार्ल ने अपनी टिप्पणी में इसका उल्लेख किया है, इसलिए मैं उम्मीद करता हूं कि यह आपके लिए उपयोगी है। सर्वर के रूप में nginx के साथ डेबियन लिनक्स पर ये चरण हैं।

  • apt-get install nginx
  • साथ nginx स्थापित

युक्त /etc/nginx/sites-available/your-app-name पर एक फ़ाइल बनाएँ।

server { 
     listen 80; 
     server_name your-app.com www.your-app.com your-app.ca; 

     rewrite .*/favicon.ico /img/favicon.ico last; 

     location ~ ^/(css|js|img|html)/ { 
       root /path/to/your/static/resource/folder; 
       expires 30d; 
     } 

     location/{ 
       proxy_pass http://localhost:3000; 
       proxy_redirect off; 
       proxy_set_header Host $host; 
       proxy_set_header X-Real-IP $remote_addr; 
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
       client_max_body_size 10m; 
       client_body_buffer_size 128k; 
       proxy_connect_timeout 90; 
       proxy_send_timeout 90; 
       proxy_read_timeout 90; 
       proxy_buffer_size 4k; 
       proxy_buffers 4 32k; 
       proxy_busy_buffers_size 64k; 
       proxy_temp_file_write_size 64k; 
     } 
} 
  • पुनः आरंभ /etc/init.d/nginx restart
  • के साथ अपने सर्वर आपके Happstack एप्लिकेशन प्रारंभ करें, और यकीन है कि यह बंदरगाह 3000 पर सुन रहा है बनाने के (या location में उपयुक्त पोर्ट स्थानापन्न)

मैं इस रणनीति का उपयोग Erlang- आधारित वाले को छोड़कर, मेरे अधिकांश वेब ऐप्स को तैनात करने के लिए; मैं खुद को संभालने के लिए Yaws पर भरोसा करते हैं। जाहिर है कि कुछ लोग with warp पर एक ही चीज़ पर विचार कर रहे हैं, लेकिन मुझे टिप्पणी करने के बारे में पर्याप्त जानकारी नहीं है। रिवर्स प्रॉक्सी दृष्टिकोण तब तक काम करेगा जब तक आप जिस भाषा को चला रहे हैं वह HTTP अनुरोधों का जवाब देने में सक्षम है, जो (fast)?CGI या उपयुक्त mod_.*? पर गिनने से बेहतर शर्त है।

Nginx सर्वर के रूप में चुना जाता है क्योंकि यह faster than the alternatives at serving static files है (जो इस मामले में यह सब कुछ कर रहा है), और क्योंकि मुझे इसे कॉन्फ़िगर करना वास्तव में आसान लगता है। यह एक प्राथमिकता नहीं है एक नियम है। आप शायद अपाचे या लाइटटैड या जो कुछ भी उसी तरह उपयोग कर सकते हैं, लेकिन मैं उस स्पष्टीकरण को किसी और के साथ अनुभवी छोड़ दूंगा।

+0

धन्यवाद! क्या एक संयोग है, मैं बस पढ़ रहा था [डेवलपर्स के लिए Nginx: एक परिचय] (http://carrot.is/coding/nginx_introduction) और एक योनि वीएम में nginx स्थापित करना :) – rzetterberg

+0

और बीटीडब्ल्यू, nginx को विन्यस्त करने के लिए इतना अच्छा लगता है अपाचे से कॉन्फ़िगर करें। मुझे वास्तव में कॉन्फ़िगरेशन फ़ाइलों का सिंटैक्स पसंद है। – rzetterberg

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