###前提・実現したいこと
rails+AWSをPumaを用いて運用したいです
AWSでActionCableを用いるため、unicornからpumaに移行してawsの運用を試みています。
TICKET CODEのNginx + Pumaで、Railsアプリケーションを表示しよう! #Rails #Nginxの記事のpuma設定ファイルをを参考にさせて頂きました。
###発生している問題・エラーメッセージ
実行コマンド
awscliにて次のコードを実行しました。
sudo /etc/init.d/puma-xxx start
エラーメッセージ bash: bundle: コマンドが見つかりません
###該当のソースコード puma-xxx
puma
1#!/usr/bin/env bash 2# 3# puma - this script starts and stops the puma daemon 4# 5# chkconfig: - 70 20 6# description: Puma is a Ruby web server. 7# processname: puma 8 9. /etc/rc.d/init.d/functions 10 11APP_NAME=servce_name 12APP_DIR=/var/www/rails/${APP_NAME} 13PUMA_SOCKET=/var/tmp/${APP_NAME}.sock 14RUBY_PATH=/opt/rbenv/shims 15ENVIRONMENT=production 16PID_DIR=/var/tmp/pids 17PUMA_PID_FILE=$PID_DIR/puma-${APP_NAME}.pid 18SLEEP_TIME=1 19AS_USER=user_name 20 21PATH=$RUBY_PATH:/usr/local/bin:$PATH 22 23mkdir -p $PID_DIR 24 25cd $APP_DIR 26 27# check if puma process is running 28puma_is_running() { 29 if [ -S $PUMA_SOCKET ] ; then 30 if [ -e $PUMA_PID_FILE ] ; then 31 if cat $PUMA_PID_FILE | xargs ps -p > /dev/null ; then 32 return 0 33 elif cat $PUMA_PID_FILE | xargs pgrep -P > /dev/null ; then 34 return 0 35 else 36 echo "No puma process found" 37 fi 38 else 39 echo "No puma pid file found" 40 fi 41 else 42 echo "No puma socket found" 43 fi 44 45 return 1 46} 47 48start_puma() { 49 daemon --user $AS_USER bundle exec puma --daemon --environment $ENVIRONMENT --bind unix://$PUMA_SOCKET --pidfile $PUMA_PID_FILE 50} 51get_status() { 52 status -p $PUMA_PID_FILE $APP_NAME 53} 54 55case "$1" in 56 start) 57 echo "Starting puma..." 58 rm -f $PUMA_SOCKET 59 start_puma 60 echo "done" 61 ;; 62 63 stop) 64 echo "Stopping puma..." 65 kill -s SIGTERM `cat $PUMA_PID_FILE` 66 rm -f $PUMA_PID_FILE 67 rm -f $PUMA_SOCKET 68 69 echo "done" 70 ;; 71 72 restart) 73 if puma_is_running ; then 74 echo "Hot-restarting puma..." 75 kill -s SIGUSR2 `cat $PUMA_PID_FILE` 76 77 echo "Doublechecking the process restart..." 78 sleep $SLEEP_TIME 79 if puma_is_running ; then 80 echo "done" 81 exit 0 82 else 83 echo "Puma restart failed :/" 84 fi 85 fi 86 87 echo "Trying cold reboot" 88 start_puma 89 ;; 90 91 status) 92 get_status 93 exit $? 94 ;; 95 96 *) 97 echo "Usage: script/puma.sh {start|stop|restart}" >&2 98 ;; 99esac 100 101
原因のコードはエラー内容から次の1行と認識しています。
daemon --user $AS_USER bundle exec puma --daemon --environment $ENVIRONMENT --bind unix://$PUMA_SOCKET --pidfile $PUMA_PID_FILE
###試したこと
・bundleのパス確認
パス設定前後でエラーが変わりませんでした。僕は原因はパスではないと考えています。
echo 'export PATH=“$HOME/.rbenv/versions/2.2.2/bin:$PATH"' >> ~/.bash_profile
###補足情報(言語/FW/ツール等のバージョンなど)
設定ファイルを用いずに
bundle exec puma --daemon --environment $ENVIRONMENT --bind unix://$PUMA_SOCKET
のコマンドを打つと起動しました。daemonを付けて実行すると
daemon not foundのエラーがでました。daemonコマンドを実行できればエラーは解決できると思いました。
ご助言いただければ幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。