有一次,我在Nginx,Rails和Passenger的系统上运行良好.
昨天我做了一个全新的Passenger安装,现在乘客安装-Nginx模块失败了.
/Users/mgaughan/.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1/gems/passenger-3.0.13/ext/Nginx/../common/libpassenger_common.a /Users/mgaughan/.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
谢谢你的帮助.
解决方法
我看到Nginx有一个已关闭的
ticket,但解决方案对我不起作用.
但是,通过运行自定义安装,我确实通过Passenger获得了Nginx并再次运行.这显然是版本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的任何真正修复,请告诉我.