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