2016-04-03 6 views
6

पर एकाधिक रेल अनुप्रयोगों को तैनात करना मैं रेल अनुप्रयोग के लिए डिजिटल महासागर बूंद का उपयोग कर रहा हूं। मैंने सफलता के साथ पहले आवेदन को तैनात करने में कामयाब रहा है, लेकिन अब दूसरे को तैनात करने की कोशिश करने वाली समस्याओं का सामना करना पड़ रहा है। मैं वेब सर्वर के रूप में ऐप सर्वर और nginx के रूप में यूनिकॉर्न का उपयोग कर रहा हूँ। ओएस उबंटू 14.04डिजिटलऑन

मैंने स्टैक एक्सचेंज साइटों पर ब्लॉग्स आदि पर बहुत सारे धागे पढ़े हैं, लेकिन उनमें से कोई भी मेरी स्थिति फिट नहीं करता है। समस्या है, मुझे लगता है, ऐप और सिस्टम फ़ोल्डर/फ़ाइल/विन्यास संरचनाओं पर। जो मैं सिस्टम कॉन्फ़िगरेशन फ़ाइलों पर कुछ भी बदलने के लिए बहुत सतर्क हूं।

वेब पर अधिकांश उदाहरणों में, हर कोई rails_root/config/ के अंदर unicorn.rb के बारे में बात कर रहा है, हालांकि मेरे पास कोई नहीं है। इसके बजाय मेरे पास /etc के अंदर एक ही सामग्री के साथ unicorn.conf है।

एक सॉकेट फ़ाइल भी है जो पहले ऐप के लिए सुनती है, और मैंने अपने दूसरे ऐप के लिए दूसरा बनाने की कोशिश की - लेकिन यह असफल रहा।

मुझे पता है, मुझे दूसरे ऐप के लिए एक और यूनिकॉर्न कॉन्फ़िगरेशन बनाना है, और ऐसा कुछ भी करना है जिसके परिणामस्वरूप दूसरे के लिए सॉकेट बनाने के परिणामस्वरूप होना चाहिए।

लेकिन सिस्टम प्रशासन के बारे में ज्ञान और समझ की कमी मुझे परेशानी के लिए प्रेरित करती है।

क्या कोई मुझे इस समस्या के बारे में मार्गदर्शन कर सकता है?

यदि आवश्यक हो तो मैं और अधिक फ़ाइलें प्रदान कर सकता हूं।

पहले एप (पथ /etc/sites-available/first_app) के लिए nginx कॉन्फ़िगरेशन फ़ाइल।

upstream app_server { 
    server unix:/var/run/unicorn.sock fail_timeout=0; 
} 

server { 
    listen 80; 
    root /home/rails/myfirstapp/public; 
    server_name www.myfirstapp.com; 
    index index.htm index.html index.php index.asp index.aspx index.cgi index.pl index.jsp; 

    location/{ 
      try_files $uri/index.html $uri.html $uri @app; 
    } 


    location ~* ^.+\.(jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|mp3|flv|mpeg|avi)$ { 
        try_files $uri @app; 
      } 

    location @app { 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_set_header Host $http_host; 
      proxy_redirect off; 
      proxy_pass http://app_server; 
    } 
} 

server { 
    listen 80; 
    server_name www.myfirstapp.com; 
    return 301 $scheme://myfirstapp.com$request_uri;  
} 

दूसरे एप्लिकेशन (/etc/sites-available/second_app)

upstream app_server_2 { 
    server unix:/var/run/unicorn.app_two.sock fail_timeout=0; 
} 

server { 
    listen 80; 
    root /home/rails/secondapp/public; 
    server_name secondapp.com; 
    index index.htm index.html index.php index.asp index.aspx index.cgi index.pl index.jsp; 

    location/{ 
      try_files $uri/index.html $uri.html $uri @app; 
    } 


    location ~* ^.+\.(jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|mp3|flv|mpeg|avi)$ { 
        try_files $uri @app; 
      } 

    location @app { 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_set_header Host $http_host; 
      proxy_redirect off; 
      proxy_pass http://app_server_2; 
    } 
} 

server { 
    listen 80; 
    server_name secondapp.com www.secondapp.com; 
    return 301 $scheme://secondapp.com$request_uri; 
} 

(/etc/unicorn.conf)

listen "unix:/var/run/unicorn.sock" 
worker_processes 4 
user "rails" 
working_directory "/home/rails/myfirstapp" 
pid "/var/run/unicorn.pid" 
stderr_path "/var/log/unicorn/unicorn.log" 
stdout_path "/var/log/unicorn/unicorn.log" 

उत्तर

0

यह शायद अनुत्तरित के रूप में यह काम करने की कोशिश कर करने का विरोध किया गया है क्योंकि आप सिर्फ 2 स्वतंत्र बूंदों का उपयोग करना चाहिए (जो सर्वर और तैनाती सामान से अपरिचित लोगों के लिए एक दुःस्वप्न होगा)। रेलवे में इंटरवब्स में 2 ऐप्स को जोड़ने के कई तरीके हैं।

यदि आपको डेटाबेस साझा करने की आवश्यकता है तो आप केवल तीसरी बूंद (हालांकि आवश्यक नहीं) स्थापित कर सकते हैं और वहां से केंद्रीकृत डीबी होस्ट कर सकते हैं और दोनों ऐप्स इससे जुड़े हुए हैं। यह आपको बहुत स्केलेबिलिटी के लिए भी सेट करता है।

बेशक, मैंने गलत समझा कि आप क्या करने की कोशिश कर रहे हैं।

यदि आप 2 बूंदों और व्याकरण का उपयोग कर रहे हैं तो हमारी चंचल मालकिन है, हमें कुछ और विवरण आदमी के साथ हुक करें।

+0

हाँ, मैं सर्वर/परिनियोजन सामग्री से ज्यादा परिचित नहीं हूं। इसलिए, मैंने खरीदा (या इसके लिए जो भी सही क्रिया है) दूसरी बूंद -)) – marmeladze