我对任何曾经说过“在轨道应用程序上部署ruby的东西都很容易”的人感到愤怒.不,这不对.这是我必须做的最困难的事情,我开发操作系统.
呼.现在那就出来了.我终于安装了乘客(使用低音安装过程),安装人员说:
LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.2-p290@rails-3.0.1/gems/passenger-3.0.8/ext/apache2/mod_passenger.so PassengerRoot /usr/local/rvm/gems/ruby-1.9.2-p290@rails-3.0.1/gems/passenger-3.0.8 PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.2-p290@rails-3.0.1/ruby
假设你/某处有一个Rails应用程序.添加虚拟主机到您的
Apache配置文件并将其DocumentRoot设置为/ somewhere / public:
<VirtualHost *:80> ServerName www.yourhost.com DocumentRoot /somewhere/public # <-- be sure to point to 'public'! <Directory /somewhere/public> AllowOverride all # <-- relax Apache security settings Options -MultiViews # <-- MultiViews must be turned off </Directory> </VirtualHost>
我将这两个放在/etc/apache2/apache2.conf中,当我尝试启动apache时,它说错误就是我把这个垃圾放到了哪一行.非常感谢帮助.我快到了,我能感受到它!
缺口
解决方法
成功安装Apache 2模块后,请按照下一组步骤配置Apache.
>在/ etc / apache2 / mods-available中创建以下两个文件
mkdir /etc/apache2/mods-available/passenger.load
LoadModule passenger_module /usr/lib/ruby/gems/1.9.2(your version)/gems /passenger-3.0.2/ext/apache2/mod_passenger.so
mkdir /etc/apache2/mods-available/passenger.conf
PassengerRoot /usr/lib/ruby/gems/1.9.2/gems/passenger-3.0.2 PassengerRuby /usr/bin/ruby1.9.2
2.通过在/ etc / apache2 / mods-enabled中创建以下符号链接来启用模块
$ln -s /etc/apache2/mods-available/passenger.load /etc/apache2/mods-enabled/passenger.load $ln -s /etc/apache2/mods-available/passenger.conf /etc/apache2/mods-enabled/passenger.conf
3.现在通过将以下内容添加到/ etc / apache2 / sites-enabled中的000-default文件来创建虚拟主机.
<Directory /var/www/your_app> RailsBaseURI /your_app RailsEnv development AllowOverride all Options -MultiViews allow from all </Directory>
>现在创建应用程序的软链接,确保您的应用程序必须位于/ opt中,您可以为应用程序创建单独的文件夹.
一世. $sudo mkdir -p / opt / rails_apps
II. $sudo cp -R / path / to / your_app / / opt / rails_apps /
III. $sudo ln -s / opt / rails_apps / your_app / public / / var / www / your_app
>然后使用以下命令重新启动apache.
/etc/init.d/apache2 restart