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