質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Action Cable

Action Cableは、WebSocketをRailsに組み込む機能。Rails4でオプションとして存在していたWebSocketをRails5で標準機能したものです。Railsアプリケーションと同様のスタイルで、Rubyを用いたリアルタイム機能を記述できます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

3132閲覧

AWS+RailsをPumaで起動したい bundle not found

MoltndarKohe

総合スコア10

Action Cable

Action Cableは、WebSocketをRailsに組み込む機能。Rails4でオプションとして存在していたWebSocketをRails5で標準機能したものです。Railsアプリケーションと同様のスタイルで、Rubyを用いたリアルタイム機能を記述できます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2016/12/03 06:47

編集2016/12/06 16:44

###前提・実現したいこと
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コマンドを実行できればエラーは解決できると思いました。
ご助言いただければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

設定ファイルを用いずに
bundle exec puma --daemon --environment $ENVIRONMENT --bind unix://$PUMA_SOCKET のコマンドの変数の値を直打ちしたものを実行することでnot foundエラーを解消できました。

後にredis-serverを導入し、awscliローカルでredis-serverすることで無事サービスが動きました。

投稿2016/12/09 02:08

MoltndarKohe

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問