upstartを使用してgolangアプリケーションを起動しています。次のようなアプリケーションフォルダー構造があります。
web-app/
/app
main.go
以下のようにアプリケーションを作成しました、
$cd /home/ec2-user/go/src/github.com/dineshappavoo/web-app/app/
$go build ./...
バイナリを生成しました app
そしてフォルダに入れまし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 runlevel [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を試したところ、プロセスがと表示されましたstop/waiting
。そして、私はプロセスを開始しようとしました
$ sudo initctl start web-app
プロセスはとして表示されstart/running
ます。しかし、それは始まっていません。
/var/log/messages
ログを確認しました。それが示している、
init: web-app main process (18740) terminated with status 127
プロセスを開始できませんでした。chdirに問題があると思います。過去2日間、さまざまなオプションを試しました。そして、私は新興企業にかなり新しいですが、運はありません。誰かがこれを手伝ってくれませんか?
OPはいくつかの問題を修正した後、最終的に解決しました。特にコメントを参照してください:
Amazon Linux Imageは現在、古いバージョンのinit(upstart 0.6.5)を使用しており、console log
ネストされたスクリプトタグなどの新しい機能がありません。
execがバイナリを見つけられない場合、ステータス127が発生する可能性があります
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加