gpt4 book ai didi

ruby-on-rails - 同一 rails 服务器上多个项目中的多个站点

转载 作者:行者123 更新时间:2023-12-03 15:49:09 26 4
gpt4 key购买 nike

我在网上搜索过,但我只能找到有关在多个站点之间共享代码以及将数据库分离为隔离模型的信息。这不是我想要的。

我想运行一个 Rails 服务器,有一个 DNS 地址和一个端口 - http://myportal.com - 将处理其他几个站点 - http://myportal.com/site1 , http://myportal.com/site2等等。

我希望每个站点都有自己的文件夹(和 SCM 存储库)、自己的数据库、自己的路由——它自己拥有一切。也就是说 - 我希望能够将每个站点作为独立开发 - 这意味着我需要能够以 http://localhost:3000 的身份运行 site1 站点而不是 http://localhost:3000/site1 .

在服务器上,根站点(响应 http://myportal.com 地址的站点应该是我运行服务器的站点,并且应该知道其他站点的绝对路径(它们将在服务器上的不同目录中,不在根站点的子目录中)并为它们提供路由信息 - 但它也应该链接到其他站点 routes.rb 文件。这意味着如果我去地址 http://myportal.com/site1/books/ 根站点应该处理 http://myportal.com/site1 ,并且 site1 应该处理 /books/ . 根站点不需要知道其他站点的内部路由结构。

这可能吗?现在我正在 Windows Server 2008 服务器上运行 gem 附带的 rails 服务器(命令行中的 rails server),但如果这是实现我描述的目标所需要的,我愿意安装另一台服务器。

提前致谢!

最佳答案

如果配置正确,您应该能够使用 Apache 或 nginx 以及可能的 IIS 执行此操作。我最熟悉 Apache 和灵活的 mod_rewritemod_proxy可以促进这一点的组件。

这个想法是你重写http://example.com/成为 http://example.com:3000/http://example.com/site2http://example.com:3001/site2等等。

也可以使用Passenger 和一些巧妙地使用VirtualHost 来做到这一点。指令,但您可能需要摆弄才能获得适合您的配置。请记住,重写 header 以在内部路由对服务器发出的结果 HTML 没有影响。

关于ruby-on-rails - 同一 rails 服务器上多个项目中的多个站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9594683/

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