gpt4 book ai didi

linux - Rails 站点的多个 VirtualHosts

转载 作者:太空宇宙 更新时间:2023-11-04 11:28:36 25 4
gpt4 key购买 nike

我想在我的 Linux VPS 上的一个子目录下运行一个 Rails 应用程序,并且在搜索了乘客文档之后我不确定如何为我的机器设置正确的虚拟主机配置和符号链接(symbolic link)。

我有一个名为 www.domain.eu 的域和一个位于/apps/webapp 的 Rails 应用程序,我希望该站点托管在 www.domain.eu/webapp

我不确定几个方面:

1.) 我应该在哪里输入 webapp VirtualHost 配置细节?它应该在 apache2.conf 文件中还是应该在 sites-available 中创建一个名为 webapp 的文件并将配置放在那里?似乎有很多相互矛盾的例子。

2.) 从上一个问题中学习,我如何修改此 apache2.conf 文件以在目录 www.domain.eu/webapp 下提供 Rails 应用程序>(再次阅读大量文档,但似乎有很多方法可以做到这一点)

<VirtualHost *:80>
ServerName domain.eu
# !!! Be sure to point DocumentRoot to 'public'!
DocumentRoot /apps/webapp/public
<Directory /apps/webapp/public>
# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews
</Directory>

RailsBaseURI /webapp
<Directory /apps/webapp/public>
Options -MultiViews
</Directory>
</VirtualHost>

3.) 我意识到需要创建符号链接(symbolic link)以将目录根目录指向 url。尝试了 ln -s/apps/webapp/public ./test 后,它返回了一个 missing symlink error。这里会推荐什么?

4.) 最后,rails 3 config.action_controller.relative_url_root = "/webapp" 似乎已被弃用,是否有新的推荐使用约定?

我的设置:运行 Ubuntu 10.04、mysql 5、apache2、phusion passenger(最新)、ruby 1.9.3 和 rails 3.2.3 的 Linux VPS 服务器。

如果有人需要更多代码,请大声疾呼,提前致谢!

最佳答案

所以在大量阅读之后,我设法让它工作了。

出于我的目的,我将子 URI 站点的 VirtualHost 信息添加到我的 apache2.conf 文件的底部,它可能是 httpd.conf 给你,但你可以将这些输入/etc/apache2/sites-available 如果您希望将它们全部分开。

在此文件的顶部,我指定了服务器的默认“主页”位置。我正在运行 apache2,所以我的主页位于/var/www。在此之下,我们设置了 rails Sub URI 选项,因此首先指定您想要的 URL 作为您的子 URI,然后将目录标记指向您的 rails 应用程序的公共(public)文件夹。 MultiViews 必须关闭因此 (-) 所以我们的 apache2.conf 文件是完整的。

<VirtualHost *:80>
ServerName domain.com
DocumentRoot /var/www
<Directory /var/www>
Allow from all
</Directory>


RailsBaseURI /webapp
<Directory /apps/webapp/public>
Options -MultiViews
</Directory>
</VirtualHost>

现在我们所要做的就是在我们的 sites-enabled 文件夹中创建一个符号链接(symbolic link),将/var/www/webapp 指向我们的/apps/webapp/public 文件夹,如下所示。

ln -s /apps/webapp/public /var/www/webapp

现在我们正在创建一个符号链接(symbolic link),我们不必在我们的 rails 路由或环境文件中插入任何额外的代码。您可以使用 RackENV 产品指定您想要使用的环境(显然所有 rails 3 + 应用程序都是机架?如果不是这种情况请评论)

关于linux - Rails 站点的多个 VirtualHosts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12784626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com