【问题标题】:simulate heroku on local (nginx + rails 3 app)在本地模拟heroku(nginx + rails 3 app)
【发布时间】:2010-09-28 20:38:25
【问题描述】:

我正在尝试在本地模拟 heroku,因为我们的应用程序在 heroku 上。虽然我无法访问 heroku 中的应用程序,所以我只是计划重新创建 heroku 为我们的应用程序实施 SSL 的相同环境。

无论如何,我搜索了heroku,根据我的发现和假设,他们使用的是nginx。我现在正在使用 WEBrick,但我试图在我的机器上安装 nginx 是徒劳的。也许我只是不知道服务器等东西的废话,但任何人都可以帮助我吗?我在 OSX 上并计划使用 nginx 作为我的 rails 3 应用程序的服务器。

这是我尝试过的事情:

  1. 通过手动编译安装 nginx - 失败。当我输入“sudo nginx”时甚至没有响应
  2. 使用端口安装 nginx - 失败。输入“sudo nginx”只会显示 nada
  3. 在 rails 3 中将乘客作为 gem 安装“http://www.blog.bridgeutopiaweb.com/post/install-rvm-passenger-nginx-and-rails-3-on-ubuntu-lucid-lynx/”-失败

好吧,老实说,我不知道我在这里做什么。任何人都可以为我指出正确的方向吗?我只需要使用 ssl 而不是 WEBrick 在 nginx 上运行应用程序。谢谢!

【问题讨论】:

    标签: ruby-on-rails-3 nginx


    【解决方案1】:

    我正在我的 MacBook 上运行 MacPorts 安装,但我已经有一段时间没有完全配置它了。您的路径是否包含/opt/local/sbin?这是默认安装ngnix的地方。

    在进行本地安装时还需要考虑其他事项,但这应该可以帮助您克服当前的困难。我不使用任何 SSL 支持,所以我无法对此发表评论。我还建议使用 RVM 运行多个本地 Rub(并通过 gems、Rails)版本,而不必担心 Snow Leopard 附带的默认版本。

    一个大问题是为了让 nginx 和乘客使用 RVM,install process 实际上想重新编译 nginx,它提示我一个新的根文件夹。我最终选择了/opt/local/nginx,因为由于 MacPorts 文件夹结构,我无法指定单个顶级目录(如/opt/local)来简单地替换现有安装。

    所以最终,这让我重新安装了 nginx,并使原来的 MacPorts 成为孤儿。您可能仍想进行初始 MacPorts 安装,只是为了自己测试 nginx。

    关于 RVM 的一个提示:不要使用 sudo 安装 gem,因为它会将它们放在主目录之外的本地文件夹中。请记住,您仍然需要运行 rvm 1.9.2 --default 以使 Ruby 版本成为超出当前 shell 生命周期的默认版本。如果你用rvm use 1.9.2 切换,它不会粘住。

    这些都与将在您的 RVM 文件夹中使用的 Ruby 乘客版本无关,请参阅上面链接中的具体说明。对我来说,通过rvm 1.9.2 --passenger 在我的nginx.conf 中创建的默认passenger_ruby 条目实际上是不正确的,因此请务必检查该页面上的故障排除详细信息。

    这些说明假设您要使用 Ruby 企业版(在该命令中也称为“ree”),但我只是在运行官方 1.9.2 版本。

    最后,我也遇到了 libiconv 问题。 RVM 有一个fix for that too

    【讨论】:

    • 看起来我用端口安装了它,尝试了哪个 nginx 并显示:/opt/local/sbin/nginx 然后我做了 sudo nginx,它说 [emerg]: bind() to 0.0. 0.0:80 失败(48:地址已在使用中)
    • 检查你的活动管理器,看看是否已经有一个 nginx 进程在运行。或者您是否打开了 Snow Leopard 附带的默认 Apache?查看系统偏好设置 -> 共享 -> Web 共享。后来我也遇到了日志目录权限的问题。不要将其更改为 777(755 很好),否则您会收到一条关于访问 PID 文件的不相关的错误消息(您的 nginx.conf 将一个保存到该目录中)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 2012-02-25
    • 2015-01-27
    • 2014-08-14
    • 2012-04-13
    • 1970-01-01
    • 2011-08-18
    相关资源
    最近更新 更多