我想在网上部署一个Ruby on Rails应用程序,为此我使用/部署了以下工具:
我已通过sudo a2enmod passenger
启用了Passenger模块。我还通过gem安装程序安装了乘客gem,并将其添加到我的rails应用程序的Gemfile中。
然后,我为应用程序' myapp'。
myapp.conf
Alias /myapp /var/www/myapp/current/public
<VirtualHost *:80>
DocumentRoot /var/www/myapp/current/public
SetEnv SECRET_KEY_BASE 592da***************************************
<Directory /var/www/myapp/current/public>
PassengerEnabled on
PassengerResolveSymlinksInDocumentRoot on
PassengerAppRoot /var/www/myapp/current
PassengerAppType rack
PassengerStartupFile config.ru
Allow from all
Options -MultiViews
Require all granted
</Directory>
</VirtualHost>
虚拟主机工作,但是当我在Web浏览器中访问URL时,它会在/ var / www / myapp / current / public中显示文件索引,而不是实际的应用程序。这样做的原因似乎是乘客没有开始,但我无法弄清楚原因。我试图调整myapp.conf文件以帮助apache和乘客检测应用程序,但没有成功。
有人可以帮我解决这个问题吗?提前谢谢。
其他信息:该应用程序部署在Raspberry Pi 3上,Raspbian Jessie作为操作系统。
答案 0 :(得分:0)
试试这个。这是用于子uri deployment.Error是因为没有提到PassengerRuby路径。也请通过此链接 https://www.phusionpassenger.com/library/deploy/apache/deploy/ruby/
Alias /myapp /var/www/myapp/current/public
<VirtualHost *:80>
SetEnv SECRET_KEY_BASE 592da***************************************
PassengerRuby /path-to-ruby /* replace this with your ruby path
<Location /myapp>
PassengerBaseURI /myapp
PassengerAppRoot /var/www/myapp/current
PassengerEnabled on
</Location>
<Directory /var/www/myapp/current/public>
Allow from all
Options -MultiViews
Require all granted
</Directory>
</VirtualHost>