1

Rails アプリを持っています... chain: nginx+passenger をインストールし、Rails サーバーを実行しました。しかし、私の問題は、ブラウザで次のような URL を設定する必要があることです。

page.com:3000

しかし、page.com だけを使用する方法は?

passenger start -e=development -p=80ユーザー制限のコマンドが実行できません…。

私のnginx confファイルは次のようなものです:

server {
        listen      80;
        server_name  localhost;

        #charset koi8-r;
        #root /home/prog/OnlineAuto/Shop/public;
        #passenger_enabled on;
        #access_log  logs/host.access.log  main;
        location / {
                root /home/prog/OnlineAuto/Shop/public;
                index  index.html index.htm;
                passenger_enabled on;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}

では、ポートなしでドメインごとにレールアプリを取得するにはどうすればよいですか? (ただし、Rails サーバーは 3000 ポートで実行します)

4

2 に答える 2

1

Nginxが使用しているのと同じポートでPassengerを起動しようとしているため、エラーが発生している可能性があります。

私はUnicornに精通していますが、読んだドキュメントに基づくと、Passengerを別のプロセスで開始する必要はありません。Passengerが適切にインストールされていれば、それを機能させるために必要なのはNginxディレクティブだけだと思います。

のhttpブロックでpassenger_rootとpassenger_rubyを構成してnginx.confから

http {
  passenger_root /<path_to_passenger_install>;
  passenger_ruby /usr/local/bin/ruby;

  server {
    listen 80;
    server_name page.com;
    charset utf-8;
    root /www/page.com/public;
    passenger_enabled on;
    rails_spawn_method smart;
    rails_env development;
  }
}
于 2013-02-18T15:22:16.147 に答える
0

ここでパッセンジャーを使用している場合は、centos サーバーで www.mysite.com:80 を使用せずに www.mysite.com で動作させるために使用する必要がありました。

etc/httpd/conf では、キーは NameVirtualHost *:80 のコメントを外し、* をサーバーの IP アドレスに変更することでした。Listen 80 がコメント解除されていることを確認します。また、IP を VirtualHost タグに追加します。ポート 8080 などではなく、ポート 80 で実行されている必要があります。

NameVirtualHost xx.xx.xx.xx:80  

Listen 80  

<VirtualHost xx.xx.xx.xx:80>
    ServerName www.mysite.com
    # !!! Be sure to point DocumentRoot to 'public'!
    DocumentRoot /var/www/vhosts/mysite.com/httpdocs/public/
    <Directory /var/www/vhosts/mysite.com/httpdocs/public/>
       # This relaxes Apache security settings.
       AllowOverride all
       # MultiViews must be turned off.
       Options -MultiViews
    </Directory>
</VirtualHost>
于 2013-09-10T17:46:35.243 に答える