0

Rails 3.1 アプリで /suburi アクセスを許可するように nginx Web サーバーをセットアップしています (アクセス URL: http://www.railapp.com/subdomainなど)。ここでのサブルイ名は byop です。Rails ドキュメントのルート サブディレクトリは /var/www/ にあります。suburi byop は /var/www/byop にあります。Rails のデプロイが成功した後に行ったことは次のとおりです。

  1. nginx.conf をセットアップします。

    サーバー { リッスン 80; サーバー名 154.248.209.181; ルート /var/www/; Passenger_enabled on; rails_env プロダクション; パッセンジャーベースウリ /byop; }

  2. 次のように /var/www の下にシンボリック リンクを作成します。

    ln -s /var/www/byop/current/public /var/www/byop

nginx を停止し、再起動しました。ただし、403 禁止ページはhttp://154.248.209.181/byopに表示されます

/var/www の下のシンボリック リンクを確認しましたが、リンクはリストされていません (byop サブディレクトリのみ)。ls -li の出力は次のとおりです。

ubuntu@ip-10-152-95-60:/var/www$ ls -li
total 4
9296 drwxrwsr-x 4 ubuntu www-data 4096 May  6 03:12 byop

上記のセットアップの何が問題になっていますか? 本当にありがとう。

4

1 に答える 1

1

私たちが見つけた問題は、シンボリックリンクを作成するステップ 2 にあります。サブディレクトリの名前とシンボリックリンクの名前は同じです。別のシンボリックリンク名を使用した後、問題は解決しました。作業コピーは次のとおりです。

1. Setup the nginx.conf:

server { 
    listen 80; 
    server_name 154.248.209.181; 
    root /var/www/; 
    passenger_enabled on; 
    rails_env production; 
    passenger_base_uri /by; 
 }

2. Create symlink under /var/www as following:

ln -s /var/www/byop/current/public /var/www/by

次に、http://154.248.209.181/byでページが表示されます。

于 2012-05-06T15:34:06.240 に答える