我想运行一个单独的rails服务器,一个DNS地址和一个端口 – http://myportal.com – 它将处理其他几个站点 – http://myportal.com/site1,http:// myportal. com / site2等
我希望每个站点都拥有自己的文件夹(和SCM存储库),它自己的数据库,它自己的路由 – 它拥有自己的一切.也就是说 – 我希望能够将每个站点作为独立站点开发 – 这意味着我需要能够以http:// localhost:3000而不是http:// localhost:3000 / site1运行site1站点.
在服务器上,根站点(响应http://myportal.com地址的站点应该是我运行服务器的站点,它应该知道其他站点的绝对路径(将在不同的目录中)在服务器上,而不是在根站点的子目录中)并为它们提供路由信息 – 但它也应链接到其他站点routes.rb文件.这意味着如果我去地址http://myportal.com/ site1 / books / root站点应该处理http://myportal.com/site1,而site1应该处理/ books /.根站点不需要知道其他站点的内部路由结构.
这可能吗?现在我正在运行Windows Server 2008服务器上的gem(来自命令行的rails服务器)附带的rails服务器,但我愿意安装另一台服务器,如果这是完成我描述的目标所需要的.
提前致谢!
解决方法
您的想法是将http://example.com/重写为http://example.com:3000/,将http://example.com/site2重写为http://example.com:3001/site2,依此类推.
使用Passenger和一些巧妙使用VirtualHost指令也可以做到这一点,但你可能不得不摆弄以获得适合你的配置.请记住,重写标头以在内部路由不会影响服务器发出的结果HTML.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。