Ruby on rails 3 在本地模拟heroku(nginx&x2B;rails 3应用程序)

Ruby on rails 3 在本地模拟heroku(nginx&x2B;rails 3应用程序),ruby-on-rails-3,nginx,Ruby On Rails 3,Nginx,我试图在本地模拟heroku,因为我们的应用程序在heroku上。不过,我没有访问heroku中的应用程序的权限,所以我只是计划重新创建heroku在为我们的应用程序实现SSL时使用的相同环境 无论如何,我搜索了heroku,根据我的发现和假设,他们正在使用nginx。我现在正在使用WEBrick,我试图在我的机器上安装nginx,但没有成功。也许我只是不懂服务器之类的东西,但有人能帮我吗?我在OSX上,计划使用nginx作为rails 3应用程序的服务器 以下是我尝试过的东西: 通过手动编译安

我试图在本地模拟heroku,因为我们的应用程序在heroku上。不过,我没有访问heroku中的应用程序的权限,所以我只是计划重新创建heroku在为我们的应用程序实现SSL时使用的相同环境

无论如何,我搜索了heroku,根据我的发现和假设,他们正在使用nginx。我现在正在使用WEBrick,我试图在我的机器上安装nginx,但没有成功。也许我只是不懂服务器之类的东西,但有人能帮我吗?我在OSX上,计划使用nginx作为rails 3应用程序的服务器

以下是我尝试过的东西:

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

  • 好吧,我真的不知道我在这里干什么。有没有人能给我指出正确的方向?我只需要在nginx上用ssl而不是WEBrick运行应用程序。谢谢

    我正在我的MacBooks上运行MacPorts安装程序,但我已经有一段时间没有完全配置它了。您的路径是否包括
    /opt/local/sbin
    ?这就是默认情况下ngnix安装到的位置

    当做一个本地安装时还有其他的事情要考虑,但是这会让你超过我们当前的驼峰。我不使用任何SSL支持,因此我无法对此发表评论。我还建议使用运行多个本地Rub(以及通过gems、Rails)版本,而不用担心雪豹附带的默认版本

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

    因此,最终,我得到了一个新的nginx安装,并留下了原来的MacPorts one。您可能仍然希望进行初始MacPorts安装,只是为了测试nginx本身

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

    所有这些都与将从RVM文件夹中使用的Ruby乘客版无关,请参阅上面链接中的具体说明。对我来说,在my
    nginx.conf
    via
    rvm 1.9.2--passenger
    中创建的默认
    passenger\u ruby
    条目实际上是不正确的,因此请确保查看该页面上的疑难解答详细信息

    这些说明假设您想要使用Ruby Enterprise Edition(在该命令中称为“ree”),但我只是在运行正式的1.9.2版本


    最后,我也遇到了libiconv的问题。RVM有一个。

    看起来我用端口安装了它,尝试了哪个nginx,它显示了:/opt/local/sbin/nginx,然后我做了sudo nginx,它说[emerg]:bind()到0.0.0.0:80失败(48:地址已在使用)检查您的活动管理器,看看是否已经有一个nginx进程在运行。或者您是否启用了雪豹提供的默认Apache?查看系统首选项->共享->网络共享。后来,我在日志目录权限方面也遇到了问题。不要将其chmod到777(755就可以了),否则会收到一条关于访问PID文件(nginx.conf的文件会将一个保存到该目录中)的无关错误消息。