我正在尝试在mediatemple(dv)上部署我的第一个rails应用程序而且我没有运气。
我正在尝试使用phusion乘客,所以我去了http://www.modrails.com/videos/passenger.mov并观看了有关安装它的教程。我做了一切都没有问题,当我指向我的IP时,我看到一个apache页面,而不是我的rails应用程序。
我注意到在mediatemple上,我必须创建一个vhosts.conf文件并运行一个命令来重新配置我的项目以查看这个vhosts.conf文件。参考 - http://kb.mediatemple.net/questions/1621/Why+is+my+vhost+file+not+being+used+by+Apache%3F#dv_40在最后一步,我做了/usr/local/psa/admin/sbin/httpdmng --reconfigure-domain xxx.xx.xx.xx
而不是重新配置所有。
这是我的vhosts.conf文件的样子:
LoadModule passenger_module
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p125/gems/passenger-3.0.11
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p125/ruby
<VirtualHost *:80>
ServerName xxx.xx.xx.xx
DocumentRoot /var/www/vhosts/myProject/httpdocs # <-- be sure to point
to 'public'!
<Directory /var/www/vhosts/myProject/httpdocs>
AllowOverride all # <-- relax Apache security settings
Options -MultiViews # <-- MultiViews must be turned off
</Directory>
</VirtualHost>
任何人都有幸在mt(dv)上部署rails应用程序,可以向rails noob提出一些建议吗?
答案 0 :(得分:8)
我刚刚在我的dv服务器上完成此操作,所以这里是一个快速浏览。我将假设您正在使用Ruby 1.9.3和Rails 3.2,并以root身份运行以下所有命令。
您的服务器上还安装了最新版本的rake和passenger安装程序。如果没有,请尝试:
gem update --system
gem install rake
gem install passenger
下一步是登录您的MediaTemple管理面板。单击您感兴趣的域的Admin按钮(而不是Plesk按钮),然后选择“Root Access和Developer Tools”选项。安装开发人员工具(这将需要大约10分钟)。
完成后,ssh进入您的服务器并执行以下操作:
passenger-install-apache2-module
有一个非常好的指导安装,所以我不会在这里详细介绍。您可能需要通过yum在此处安装一些其他依赖项,因此请仔细检查此脚本的输出。
一旦完成,请转到并编辑您的httpd.conf文件。这保存在/etc/httpd/conf/httpd.conf
下。您将需要在其末尾添加以下行(请注意路径可能会有所不同,因为我使用rvm来管理我的ruby安装和gemsets)。
# Passenger Module for Apache (For Rails apps)
LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p125@rails32/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p125@rails32/gems/passenger-3.0.11
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p125@rails32/ruby
PassengerDefaultUser root
此时您应该已准备好创建一个新的rails应用程序,以便从httpdocs
文件夹中删除所有内容,并在以域用户身份登录时发出以下命令(不是root!)
rails new /path/to/httpdocs
在vhost.conf
中修改您的/var/www/vhosts/www.domain.com/conf
文件(或创建一个新文件)(您需要以root身份执行此操作)。
ServerName domainname.com
ServerAlias domainname.com
DocumentRoot /var/www/vhosts/domainname.com/httpdocs/public
<Directory "/var/www/vhosts/domainname.com/httpdocs/public">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
RailsEnv development
RailsBaseURI /
最后,问题
/usr/local/psa/admin/sbin/httpdmng --reconfigure-domain xxx.xx.xx.xx
重新启动apache
/usr/sbin/apachectl -k restart
那应该是它!
这个链接确实对我有所帮助:http://www.twohard.com/blog/setting-rails-passenger-mediatemple-dv35-servers