2013-03-27 5 views
7

पर स्टार्टअप पर उल्का चलाने के लिए कैसे मैं meteorjs सीखता हूं और मेरे पास एक छोटा रिमोट वीपीएस है।उबंटू सर्वर

मैं चाहता हूँ:

  1. सेट ऑटो Git भंडार मेरी उल्का परियोजना से खींच रहा है।
  2. स्क्रिप्ट को ऑटो स्टार्ट में रखें जो मेरी उल्का परियोजना को सेवा के रूप में चलाती है।

उदाहरण के लिए

meteor run -p 80 -- production 

मेरे सर्वर Ubuntu 12.04 है

उत्तर

13

आप उबंटू रास्ता है, जो कल का नवाब है का उपयोग करना चाहिए:

http://upstart.ubuntu.com/ http://manpages.ubuntu.com/manpages/lucid/man5/init.5.html

डेमॉन काम को परिभाषित करने के लिए कैसे :

http://newcome.wordpress.com/2012/02/26/running-programs-as-linux-daemons-using-upstart/

आशा है कि यह मदद करता है :)

आपका नवोदय फ़ाइल और अधिक या कम होगा:

# meteorjs - meteorjs job file 

description "MeteorJS" 
author "Igor S" 

# When to start the service 
start on runlevel [2345] 

# When to stop the service 
stop on runlevel [016] 

# Automatically restart process if crashed 
respawn 

# Essentially lets upstart know the process will detach itself to the background 
expect fork 

# Run before process 
pre-start script 
     cd PATH_TO_METEOR_APP 
     echo "" 
end script 

# Start the process 
exec meteor run -p 80 --help -- production 
+0

मैक ओएसएक्स के साथ स्टार्टअप पर उल्का चलाने के लिए कैसे? – crapthings

+0

Thx। इसका काम ठीक है –

+2

'exec myprocess' क्या है? – gor

1

यह मेरा meteorjs.conf फ़ाइल है - ठीक काम करता है। मैंने पहले सभी मुद्दों का वर्णन किया था, लेकिन यह संस्करण उन्हें ठीक करता है। आशा है कि यह मदद करता है किसी को :)

सभी EXPORT चर रहा printenv

# meteorjs - meteorjs job file 

description "MeteorJS" 
author "Alex Babichev" 

# When to start the service 
start on runlevel [2345] 

# When to stop the service 
stop on runlevel [016] 

# Automatically restart process if crashed 
respawn 

# Essentially lets upstart know the process will detach itself to the background 
expect fork 

chdir /home/dev/www/test 

script 

export MONGO_URL=mongodb://localhost:27017/meteor 
export PATH=/opt/local/bin:/opt/local/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
export PWD=/home/sputnik 
export NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript 
export HOME=/home/sputnik 

echo "---- start ----" 
cd /home/dev/www/test 
exec mrt 

end script 
+0

मोंगो यूआरएल पास नहीं किया और अंतिम पंक्ति को बदल दिया: 'exec meteor -p domain.com : 8080' को 'chmod + x/etc/init/meteorjs.conf' भी करना था और यह बहुत अच्छा काम करता है :) Thx – Guidouil

+0

'env HOME =/home/sputnik' अगर आपको अपनी स्क्रिप्ट में स्क्रिप्ट पसंद नहीं है। –

4

यहाँ से मिला कि मुझे क्या करना है:

description "meteor app server" 
start on runlevel [2345] 
stop on runlevel [06] 
respawn 
respawn limit 10 5 
pre-start script 
    set -e 
    rm -f /path/to/your/app/.meteor/local/db/mongod.lock 
end script 
exec /bin/su - ec2-user -c '/path/to/your/app/meteor_server.sh' 
post-stop script 
    pkill -f meteor 
end script 

meteor_server.sh स्क्रिप्ट शामिल हैं:

cd /path/to/your/app/; meteor run -p 3000 --production 

सुनिश्चित करेंmeteor_server.sh स्क्रिप्ट और 3 स्थानों में अपने ऐप के पथ को बदलें। स्क्रिप्ट को बंद होने पर सभी उल्का कार्यों को भी मार देता है, इसलिए यह केवल आपके सर्वर पर एकल मीटरी ऐप चलाने के लिए काम करता है। मुझे nginx का उपयोग करके इस तरह से एक उल्का एप जल्दी से चल रहा है लेकिन नोड बहुत मेमोरी का उपभोग करता है।