追加のApache2仮想ホストファイルを使用して、RoRアプリケーションをサーバーにデプロイします。
<VirtualHost *:80>
# ServerName ubuntu
DocumentRoot /var/www/myapp/current/public
PassengerEnabled off
ProxyPass / http://127.0.0.1:9051
ProxyPassReverse / http://127.0.0.1:9051
<IfModule mod_rewrite.c>
RewriteEngine On
# Redirect all requests to the maintenance page if present
RewriteCond %{REQUEST_URI} !\.(css|gif|jpg|png)$
RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ /system/maintenance.html [L]
</IfModule>
</VirtualHost>
そして私はPassengerを使用してそれを開始します:
passenger start -a 127.0.0.1 -p 9051 -e production -d
これはUbuntuサーバーです:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04 LTS
Release: 12.04
Codename: precise
そして、ポートはリッスンしています:
plee@ubuntu:~$ sudo lsof -i :9051
[sudo] password for plee:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1016 plee 4u IPv4 168135 0t0 TCP localhost:9051 (LISTEN)
nginx 1017 plee 4u IPv4 168135 0t0 TCP localhost:9051 (LISTEN)
nginx 1017 plee 5u IPv4 225556 0t0 TCP localhost:9051->localhost:44586 (ESTABLISHED)
ruby 1018 plee 5u IPv4 225555 0t0 TCP localhost:44586->localhost:9051 (ESTABLISHED)
問題は、私のアプリにアクセスできるのはhttp://localhost:9051
サーバーのIPアドレスを使用して別のマシンから接続しようとすると、次のようになります。http://10.50.10.75:9051
Google Chromeは私に:
Google Chrome could not connect to 10.50.10.75:9051
私を助けてください!
ありがとう。