2013-03-27 24 views
7

メトリクスを学び、私は小さなリモートVPSを持っています。Ubuntuサーバーの起動時にmeteorを実行する方法

私がしたい:gitリポジトリ私の流星プロジェクトから引っ張っ

  1. 設定オートを。
  2. 私の流星プロジェクトをサービスとして実行するスクリプトを自動起動に入れます。たとえば、

は、私のサーバーは、Ubuntuの12.04

meteor run -p 80 -- production 

ある

あなたは成り上がりであるUbuntuの道を、使用する必要があり

答えて

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

起動時に隕石をMac OSXで走らせるには? – crapthings

+0

Thx。うまく動作します –

+2

'exec myprocess'とは何ですか? – gor

1

これは私のmeteorjs.confファイルである - 正常に動作します。 私は以前にすべての問題を説明しましたが、この変形で修正されました。 は、それが誰かの役に立てば幸い:)

私はここで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

mongoのURLを渡しておらず、最後の行を変更しました: 'exec meteor -p domain.com :8080'も 'chmod + x/etc/init/meteorjs.conf'にしなければなりませんでした:) Thx – Guidouil

+0

' env HOME =/home/sputnik'スクリプト内のスクリプトが嫌いです。 –

4

によって得たすべてのEXPORT変数私が何をすべきかです:

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つの場所でアプリへのパスを変更します。このスクリプトは、停止したときにすべての流星タスクも殺します。そのため、あなたのサーバー上で1つの流星アプリを実行するだけで動作します。私は流星のアプリをすぐにnginxを使用してこの方法で実行しているが、ノードは、多くのメモリを消費するようだ。

関連する問題