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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

WebSocket

WebSocketとは双方向・全二重コミュニケーションのためのAPIでありプロトコルのことを指します。WebSocketはHTML5に密接に結びついており、多くのウェブブラウザの最新版に導入されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

1回答

381閲覧

gem 'websocket-rails'の各種設定方法について知りたい

siruku6

総合スコア1382

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

WebSocket

WebSocketとは双方向・全二重コミュニケーションのためのAPIでありプロトコルのことを指します。WebSocketはHTML5に密接に結びついており、多くのウェブブラウザの最新版に導入されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2017/08/07 08:42

gem 'websocket-rails'の各種設定方法について知りたい

[方針]
Apache + Passengerでwebsocket-railsを動かそうとしております。
そのためには、redisサーバーをスタンドアローンモードというもので起動しなければならないということがわかりました。

[参考資料]
こちらを参考にしました。
https://altarf.net/computer/rails/2502
https://github.com/websocket-rails/websocket-rails/wiki/Standalone-Server-Mode

[問題]
redisサーバーがきちんと起動されない。

$ sudo service redis start

なら上手く起動できるのですが、

$ rake websocket_rails:start_server や $ bundle exec rake websocket_rails:start_server

では起動できません。

起動できないというのは、正確に言うと、

Websocket Rails Standalone Server listening on port 3000

という結果が返ってくるにもかかわらず、tmp/pidsディレクトリに.pidファイルが作成されないということです。

$ ps aux

上記コマンドを実行すると、ほんの少しの間だけプロセスが実行されているのが確認できますが、数秒後にもう一度"$ ps aux"すると、プロセスが終了したのか、表示されなくなってしまいます。

設定ファイルは以下のように設定してあります。

ruby

1config/initializers/websocket_rails.rb 2 3WebsocketRails.setup do |config| 4 config.log_level = :debug 5 config.log_path = "#{Rails.root}/log/websocket_rails.log" 6 config.standalone = true 7 config.standalone_port = 3000 8 config.synchronize = false 9 config.redis_options = {:host => 'localhost', :port => '6379'} 10end

このファイル、又は、他のどの設定ファイルを見直すべきなのか、どのように変更すべきなのか、わかる方いらっしゃいましたらご教示願います。

[補足]
なお、

$ sudo service redis start $ rails s -b 0.0.0.0

でサーバー起動した場合は、アプリ自体も正常に動作します。

今回はApache + Passengerで動作させたいので、スタンドアローンモードで実装するために、まずは

$ bundle exec rake websocket_rails:start_server

でredisを起動させてみたいと考えております。

(・・・その先はまだ見えていません。)

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

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

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

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

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

guest

回答1

0

自己解決

#解決しました
[方法]
redisサーバーを起動してから、websocket-rails側のサーバースタートコマンドを打てばよかった。

$ sudo service redis start $ bundle exec rake websocket_rails:start_server

で解決しました。

[問題になっていたこと]
てっきり、"bundle exec rake websocket_rails:start_server"コマンドでredisサーバを立ち上げているのかと思っていました。

しかし実際は、立ち上げ済みのredisサーバーに接続するだけのコマンドでした。

投稿2017/08/08 02:31

siruku6

総合スコア1382

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問