部署了两个 Rails 应用程序 - 如何更改默认应用程序?
Posted
技术标签:
【中文标题】部署了两个 Rails 应用程序 - 如何更改默认应用程序?【英文标题】:Two Rails apps deployed - How do I change the default App? 【发布时间】:2014-03-31 16:22:04 【问题描述】:我已经按照 Ryan Bate 的指南部署了两个完全不同的 Rails 应用程序一个 VPS(节省成本,用于开发小型家庭项目)。链接到 railscast:http://railscasts.com/episodes/335-deploying-to-a-vps
我的问题是:默认应用是我第一个部署的,所以当我访问IP地址时,就是显示的应用。如何将服务器配置为
-
使用子域(不确定仅使用 IP 地址是否可行)
更改默认应用
在 nginx.conf 中玩耍并阅读此堆栈 q:NGinx Default public www location?
我似乎无法解决它!提前致谢。
【问题讨论】:
【参考方案1】:我想我明白你想做什么。您的默认应用程序术语让我感到困惑。让我们把它扔掉,只是说你想将两个不同的 Rails 应用程序部署到不同的域——sub 或 TLD,没关系。另外,我认为您希望将它们部署到同一个 VPS 服务器。 Ryan 的截屏视频不包括如何执行此操作。
您可能正在寻找的是如何使用 nginx 托管多个站点(和 rails 应用程序)。就像 Ryan 的截屏视频一样,要让一切正常运行,需要执行许多步骤。我建议您首先关注域设置 (DNS),然后是 nginx 设置。最后离开为您的 Rails 应用程序提供独角兽。
第一
设置您的域和子域以指向 VPS。一种方法是创建指向您的 VPS IP 的 DNS A 记录。
第二
配置 nginx 为两个站点提供服务。为了让您朝着正确的方向开始,我建议您阅读以下内容:multiple websites on nginx & sites-available。听起来您已经让 nginx 在您的域上为您的应用程序提供服务。所以步骤可能是这样的:
$ cd /etc/nginx/sites-available/
$ cp default subdomain.example.com
相应地编辑 subdomain.example.com。有关详细信息,请参阅 nginx 文档。另外,确保 /sites-available/default 和 /sites-available/subdomain.example.com 没有使用 _ 作为 server_name 指令。将它们设置为各自的域名。另外,现在将 root
指向可以提供 index.html 文件的某个位置(即暂时不要使用 rails)
$ cd /etc/nginx/sites-enabled/
$ ln -s ../sites-available/eden.jrutherford.com .
$ service nginx restart
如果此时一切顺利,您应该可以在浏览器中访问这两个域并让 nginx 提供内容。
第三
为您的子域配置一个新的独角兽。很抱歉,我没有这一步的具体提示。按照 Ryan 的教程,搜索 google,unicorn 网站。
祝你好运。
【讨论】:
以上是关于部署了两个 Rails 应用程序 - 如何更改默认应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
如何更改 Rails 中 Active Record 的默认时区?
如何在 OpsWorks 部署到 Rails 堆栈期间始终运行迁移
Rails 5 和设计:如何在不更改默认策略的情况下禁用基于令牌的策略上的会话