18

我在 amd-64 平台上运行 ubuntu 9.10 服务器。一切都非常标准,我在 ruby​​ 1.8 安装上运行了 Sinatra 0.94。我想安装乘客以便轻松配置 ssl。

问题是,它无法找到安装程序。

我跑

sudo gem install passenger

或者

sudo gem install -r passenger

然后下一行,

passenger-install-nginx-module

或者

passenger-install-apache2-module

两者都失败了,因为找不到路径。

我在这里忘记了什么吗?一旦安装了gem,它不应该直接工作吗?

4

7 回答 7

37

我想答案有点晚了,但实际上,在使用 RVM 时,为 nginx 运行 Phusion Passenger 安装程序的正确方法是使用rvmsudo如下:

rvmsudo passenger-install-nginx-module

学分转到这篇博文

于 2011-03-16T14:28:55.520 回答
25

我得到了它的工作

rvmsudo `which passenger-install-nginx-module`
于 2012-11-24T09:55:43.273 回答
12

根据github上的这个问题:https ://github.com/wayneeseguin/rvm/issues/1307

好像你必须做完整的路径:

这对我有用:

which passenger-install-nginx-module

rvmsudo ~/.rvm/gems/ruby-1.9.3-p327-new/gems/passenger-3.0.18/bin/passenger-install-nginx-module
于 2012-11-25T19:37:55.663 回答
5

显然,gem 安装在一个偏僻的地方,根据

http://groups.google.com/group/phusion-passenger/browse_thread/thread/78ca12c4838034a6/b5a3c7a00a871283?lnk=gst&q=ubuntu+9.10#b5a3c7a00a871283

令人沮丧的错误,这就是我留下这个问题而不是删除它的原因(而且,通过投票,我认为我不是唯一一个有问题的人)。

于 2010-02-09T00:41:07.837 回答
2

我有一个类似的问题。您需要将 gem 添加到系统 PATH 中,将其粘贴到您的 shell 中:

export PATH=$PATH:$HOME/bin:/var/lib/gems/1.8/bin

或者,要将其永久添加到您的 bashrc,通常在此处:~/.bashrc

您还可以通过转到以下目录仅执行乘客安装 nginx 模块:/var/lib/gems/1.8/bin

祝你好运!

于 2011-05-25T11:15:54.160 回答
1

我知道你已经回答了这个问题,但我想我会插上一两分钱。

我最近做了一个类似的 nginx 安装,但选择使用 RVM 来管理 Ruby 版本,这要求我们不要使用 sudo。

我推荐这条路线,因为所有版本的 Ruby 和你的所有 gem 都整齐地组织在你的主目录中。这样做还需要您手动编译 nginx,这肯定有助于稍微了解管道。

您可以使用“--add-module=/home/user/path_to_passenger_gem/ext”手动编译 nginx,但您需要非常仔细地阅读 RVM 的说明......真的,不要跳过一行非常简洁。

这是 RVM 说明的链接:

http://rvm.beginrescueend.com/passenger/

以及 Nginx 手册说明(您可能已经略读过)。

http://www.modrails.com/documentation/Users%20guide%20Nginx.html#_installing_phusion_passenger_for_nginx_manually

于 2010-02-09T03:30:02.200 回答
0

我的博客上有一些关于使用乘客设置 nginx 的信息(在这种情况下是 ssl)。也许它很有用,因为它经历了使用选项重新编译 nginx 的整个过程。

于 2011-02-17T08:50:50.277 回答