无法使用 Nginx 1.2.1 安装 Phusion Passenger 3.0.13

无法使用 Nginx 1.2.1 安装 Phusion Passenger 3.0.13

我安装了 gem Passenger,它安装了 3.0.13。然后我执行了 Passenger-install-nginx-module,这是 Nginx 指令http://www.modrails.com按照说明操作。根据 Nginx 官方 wiki 页面,它会安装最新的稳定版本 1.2.1。我说将 Nginx 安装到 /usr/local/nginx(如果您访问 nginx wiki 网站,这是默认设置)。我收到以下错误:

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
--------------------------------------------

It looks like something went wrong

Please read our Users guide for troubleshooting tips:

   /Users/server1/.rvm/gems/[email protected]/gems/passenger-3.0.13/doc/Users guide Nginx.html

If that doesn't help, please use our support facilities at:

   http://www.modrails.com/

We'll do our best to help you.

我搜索了好几个小时,试图找到解决方案。我尝试了 Phusion Passenger 的 Google 群组,但没有找到任何东西。我不知道版本号是否不匹配。文档中没有提到这个错误。

答案1

我遇到了同样的问题,看到了这个问题,但发布在 StackOverflow 上。

看看我的回答。https://stackoverflow.com/questions/11065037/passenger-nginx-module-failing/11067526#11067526

来自:

我看到 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 的任何真正修复,请告诉我。

相关内容