EC2 Rails + unicorn 起動スクリプトの設定
Railsアプリの本番環境用にamazon Linux + unicorn + nginx + posgtresql(RDS)の環境を構成中です。
unicornの起動スクリプト作成にあたり色々な情報を参考にしてみたものの起動が失敗してしまいます。
環境
ruby 2.2.2
rails 4.2.3
unicorn 4.9.0
postgresql 9.2.13
起動スクリプト/etc/init.d/unicornの内容
#!/bin/sh
#
#
# chkconfig: - 85 15
# description: unicorn -- a rails app
. /etc/rc.d/init.d/functions
PROG_NAME=unicorn
USER=ec2-user
APP_ROOT=/home/ec2-user/server
RAILS_ENV=production
PID_FILE=$APP_ROOT/tmp/unicorn.pid
CONFIG_FILE=$APP_ROOT/config/unicorn.rb
CMD="/usr/local/rbenv/shims/unicorn_rails"
ARGS="-c $CONFIG_FILE -D -E $RAILS_ENV"
export PATH=/usr/local/bin:$PATH
cd $APP_ROOT || exit 1
case $1 in
start)
daemon --user=$USER --pidfile=$PID_FILE $CMD $ARGS
;;
stop)
killproc -p $PID_FILE $PROG_NAME -QUIT
;;
restart)
killproc -p $PID_FILE $PROG_NAEE -USR2
;;
*)
echo >&2 "Usage: $0 <start|stop|restart>"
exit 1
;;
esac
sudo service unicorn start
実行時のエラーログは下記のようになっています。
I, [2015-10-15T09:31:03.537055 #17233] INFO -- : reaped #<Process::Status: pid 17236 exit 0> worker=0
I, [2015-10-15T09:31:03.537134 #17233] INFO -- : reaped #<Process::Status: pid 17238 exit 0> worker=1
I, [2015-10-15T09:31:03.537193 #17233] INFO -- : master complete
I, [2015-10-15T09:32:27.797578 #17708] INFO -- : Refreshing Gem list
I, [2015-10-15T09:32:29.038911 #17708] INFO -- : unlinking existing socket=/home/ec2-user/server/tmp/unicorn.sock
I, [2015-10-15T09:32:29.039043 #17708] INFO -- : listening on addr=/home/ec2-user/server/tmp/unicorn.sock fd=11
E, [2015-10-15T09:32:29.070183 #17708] ERROR -- : fe_sendauth: no password supplied
(PG::ConnectionBad)
PG::ConnectionBad
とありますのでpostgresql関係の問題だと思いますが色々なサイトを見ても特にunicorn側でデータベースについて何か設定している様子がなくエラーの理由がわかりません。railsのdatabase.ymlのプロダクションDBの設定ではRDSで設定したDB名・ユーザ名・パスワード(環境変数)及びホストを設定しておりrake db:migrateコマンドでテーブルの作成はできています。