【Rails3】デフォルトポートを変更する
Railsでは、"rails s" コマンドを叩くとデフォルトポートである3000番で起動します。
"rails s -p 3001"のようにポート番号を指定することで明示的に使うポートを設定することも出来ますが、
「このアプリは"rails s"って打ったら無条件に4000番ポートで起動したいよー」なんて場合もあると思います。
デフォルトのポート番号はRails::Serverクラスのdefault_optionsメソッドで定義されているので、
その値を上書きしてやればデフォルトポートを変更できます。
Serverクラスの書き換えは、Serverクラスが使われる前のタイミングで行う必要があるので、config/boot.rbなどに下記コードを書きます。
require 'rails/commands/server' module Rails class Server def default_options super.merge({ :Port => 4000 }) end end end
superメソッドを呼ぶと親元のdefault_optionsメソッドがコールされます。そのメソッドはHashを返却します。そのHashオブジェクトに対し、Hash#merge()を使うと、指定した値のみ書き換えてくれます。便利。