因为我正在研究 PHP + Apache + Mysql,并且我正在使用不同配置的 Ruby on Rails,所以我想用这样的配置开始我的新项目:Rails + Apache + Mysql。我已经将 Rails 项目与 mysql 连接,但我不知道如何将服务器设置为 Apache。rails server 一直在启动 WEBrick。设置apache服务器的解决方案是什么?
问问题
247 次
2 回答
1
我建议使用 nginx 而不是 apache。如果您真的想使用 apache,您可以查看乘客。
或者
你可以使用apache的proxypassreverse模块
模块依赖
- mod_rewrite
- mod_ssl
- mod_proxy
- mod_proxy_http
您的虚拟主机可能看起来像这样
<VirtualHost *:80>
ServerName gitlab.example.com
ProxyPreserveHost On
<Location />
Order deny,allow
Allow from all
ProxyPassReverse http://127.0.0.1:3000/
ProxyPassReverse http://example.com/
</Location>
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .* http://127.0.0.1:3000%{REQUEST_URI} [P,QSA]
</VirtualHost>
如果您的应用程序在另一个端口下运行,您将不得不更改端口
于 2013-11-03T11:35:59.857 回答
0
乘客是一个可以作为 apache 模块安装的 rails 容器。运行以下两条命令安装passenger:
gem install passenger
passenger-install-apache2-module
然后,只需按照屏幕上显示的说明进行操作。最后,您将看到一个示例VirtualHost
。使用它来调整您的实际VirtualHost
设置
您还将看到与将乘客加载为 apache 模块有关的 3 行。只需将这些行复制粘贴到您的 httpd.conf(或 apache.conf 视情况而定)。
使用此设置,您无需运行 WEBrick。乘客将自动启动您的 Rails 应用程序
如果您还在同一个 apache 实例上运行 PHP 应用程序,您可以VirtualHost
使用PassengerEnabled off指令关闭您的PHP 中相关的乘客
有关更多配置选项,请参阅Apache 乘客手册
于 2013-11-03T15:03:50.387 回答