golangアプリケーションの起動プロセスを開始するには?

golangアプリケーションの起動プロセスを開始するには?

私は golang アプリケーションを起動するために upstart を使用しています。私のアプリケーションのフォルダ構造は次のとおりです。

   Web-app/
         /app
             main.go

アプリケーションを構築しました。

$cd /home/ec2-user/go/src/github.com/dineshappavoo/web-app/app/
$go build ./...

アプリフォルダの下にアプリ[実行ファイル]をアプリとして作成しました。

フォルダweb-app.confに入れてください/etc/init/。 web-app.confの内容は次のとおりです。

#Web app upstart script
description "start and stop web app"

start on (net-device-up
and local-filesystems
and rullevel [2345])

stop on runlevel [016]

respawn
respawn limit 5 30

console output   

script
    chdir /home/ec2-user/go/src/github.com/dineshappavoo/web-app/app
    exec ./app
end script

sudo initctl listを試みると、プロセスは停止/待機中にリストされます。私はそのプロセスを始めようとしています。

$sudo initctl start web-app

プロセスが開始/実行中であることを示します。しかし、まだ始まっていません。

/var/log/messagesログを確認しました。見せる、

init: web-app main process (18740) terminated with status 127

プロセスを開始できません。 chdirに問題があるようです。過去2日間に別のオプションを試しましたが、成功しませんでした。私はまだヌーボーの金持ちに初めて会いました。誰でもこの問題を解決するのに役立ちますか?

答え1

終了状態127は、コマンドが見つからないことを示す。問題は、upstartを使用しようとしていることです祭典スクリプトブロック内にあるため、upstartはそれをコマンドとして実行しようとしますが、コマンドは存在しません。スクリプトブロックの上に移動する必要があります。

また、スクリプトブロック内でのみexecを使用するので、それを削除してくださいexec

#Web app upstart script
description "start and stop web app"

start on (net-device-up
and local-filesystems
and rullevel [2345])

stop on runlevel [016]

respawn
respawn limit 5 30

console output   

chdir /home/ec2-user/go/src/github.com/dineshappavoo/web-app/app
exec ./app

関連情報