8

有一次,我在我的系统上使用 NGINX、Rails 和Passenger 一切都运行良好。

昨天我重新安装了Passenger,现在passenger-install-nginx-module失败了。

    /.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1/gems/passenger-3.0.13/ext/nginx/../common/libpassenger_common.a /.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1/gems/passenger-3.0.13/ext/nginx/../common/libboost_oxt.a -lstdc++ -       lpthread -lm -lpcre -lssl -lcrypto -lz
Undefined symbols for architecture x86_64:
 "_pcre_free_study", referenced from:
  _ngx_pcre_free_studies in ngx_regex.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[1]: *** [objs/nginx] Error 1
make: *** [build] Error 2

这个确切的问题昨天发布在 ServerFault 上,但我认为这里更有可能得到回答(如果这是一个问题,我深表歉意)。

https://serverfault.com/questions/399304/cannot-install-phusion-passenger-3-0-13-with-nginx-1-2-1

谢谢你的帮助。

4

2 回答 2

6

我看到 NGINX 有一张已关闭的,但该解决方案对我不起作用。

然而,我确实通过运行自定义安装来让 NGINX 重新启动并与Passenger 一起运行。这显然是与版本 2 及更高版本的兼容性问题。

首先,我刚刚下载了 NGINX 源代码(1.0.15)。

在我的 /usr/local

wget http://www.nginx.org/download/nginx-1.0.15.tar.gz nginx_source

解压

 tar -xvz nginx-1.0.15.tar.gz

然后运行乘客安装。选择选项 2(自定义安装)

sudo passenger-install-nginx-module

在那里它会提示您输入源的位置/usr/local/nginx-1.0.15以及您想要安装它的位置/usr/local/nginx(在我的情况下)。

从那里一切正常,任何人都知道 NGINX 2 的任何真正修复,请告诉我。

于 2012-06-16T22:25:09.697 回答
6
brew install pcre

当配置步骤也添加

--with-pcre --with-ipv6 --with-ld-opt=-L/usr/local/lib

它还使用 with-ld-opt 作为自制软件,它并不完美。

也可以看看http://wiki.nginx.org/InstallOptions

于 2012-09-02T15:12:07.643 回答