rails *****
でプロジェクトを作成し、ディレクトリに移動して
ruby ./script/server
でWEBrickを起動し、ローカルの3000ポートに接続して動作確認というところでうまく行かなくなりました。ここで思ったのですが、WEBrick もWebサーバという事ならApacheのように公開ディレクトリが存在し、ログインユーザの作業ディレクトリからシンボリック・リンクをはるなどの作業が必要な気がするのですが、そうした記述が見つかりませんでした。そのあたりについて詳しく記しているページを教えてください。
よろしくお願いします。
http://www.ruby-lang.org/ja/man/?cmd=view;name=webrick
URLはWEBrickのマニュアルです。
WEBRickでも上記の作業が必要なのはその通りなのですが、Railsでscript/serverで起動する場合はその辺の設定がなされたWEBrickが起動するはずです。
つまり、Railsアプリを起動するだけであれば、特別な設定は不要なはずです。起動しないのは他の原因ではないでしょうか。
エラーが出ているということであればエラーの出力などがあれば、もう少し具体的にお答えできると思います。
http://www.ruby-lang.org/ja/man/?cmd=view;name=webrick
URLはWEBrickのマニュアルです。
WEBRickでも上記の作業が必要なのはその通りなのですが、Railsでscript/serverで起動する場合はその辺の設定がなされたWEBrickが起動するはずです。
つまり、Railsアプリを起動するだけであれば、特別な設定は不要なはずです。起動しないのは他の原因ではないでしょうか。
エラーが出ているということであればエラーの出力などがあれば、もう少し具体的にお答えできると思います。
ありがとうございます。マニュアルざっと読んでみますね。症状は404になります。
WEBrickで起動したRailsアプリケーション(というかRails用の設定で起動したWEBrick)はポートをまるっと占有します。
そのため、上記の例ではあとから起動しようとするfugaユーザはそもそもWEBrickを起動できません。
(script/server -p 3001 とかすれば3001で起動できます)
また、ドキュメントルートですが、Railsプロジェクとのpublic/ディレクトリをドキュメントルートとしてマウントします。
そのため、
#{RAILS_ROOT}/public を見に行きます。
もしかすると http://localhost:3000/hoge
を見ようとしていらっしゃるのかもしれませんが、この場合はRails的にはHogeControllerへのアクセスと解釈し、(そのコントローラがなければ)404を返します。
じゃあ、一台のサーバ(一つのポート)で複数のRailsアプリを起動できないのか、というと、できることはできます。
個々では具体的な方法は省略しますが、relative_url_rootなどをキーワードに検索するといろいろ出てくると思いますよ。
ありがとうございます!まるごと占有するんですね。理解しました。とりあえず、もう一度本を読み直し、public/ディレクトリを調べてみます。
ありがとうございます。マニュアルざっと読んでみますね。症状は404になります。