我对那些曾经说过“在轨道应用程序上部署红宝石”的任何人都非常感到愤怒。不,这不对。这是我必须做的最困难的事情,我开发了操作系统。
呼。现在那就出来了。我终于安装了乘客(使用低音安装过程),安装人员说:
请编辑您的apache配置文件并添加以下行:
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时,它说错误就是我把这个垃圾放到了哪一行。非常感谢帮助。我快到了,我能感觉到它!
尼克
答案 0 :(得分:1)
成功安装Apache 2模块后,请按照下一组步骤配置Apache。
在/ etc / apache2 / mods-available
中创建以下两个文件mkdir /etc/apache2/mods-available/passenger.load
在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
在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
答案 1 :(得分:1)
如果您已逐字地包含以下内容,则在重新启动Apache时会收到错误消息:
AllowOverride all # <-- relax Apache security settings
Options -MultiViews # <-- MultiViews must be turned off
它吐出的错误是:
user@my_server:~/your_site# sudo /etc/init.d/apache restart
Syntax error on line 11 of /etc/apache2/sites-enabled/your_site:
Illegal override option #
Action 'configtest' failed.
The Apache error log may have more information.
...fail!
root@my_server:~/your_site#
修复?删除后面的注释行,如下所示:
AllowOverride all
Options -MultiViews
希望这有帮助!