新手问题 通过 passenger 安装 nginx 失败

assyer · 2013年07月03日 · 最后由 assyer 回复于 2013年07月04日 · 3720 次阅读

期间重装了rvm、更换了ruby版本,依然安装失败。这里是log: https://gist.github.com/gonjay/5916876

PS:使用brew来安装nginx是可以的,问题是没办法启动passenger

刚刚发现Compiling Phusion Passenger...的时候出错了,应该是这个

Tasks: TOP => nginx_without_native_support => /Users/mac/.passenger/standalone/4.0.5/support-x86_64-macosx-10.9/PassengerHelperAgent => /Users/mac/.passenger/standalone/4.0.5/support-x86_64-macosx-10.9/libboost_oxt.a => /Users/mac/.passenger/standalone/4.0.5/support-x86_64-macosx-10.9/libboost_oxt/oxt/implementation.o
共收到 15 条回复

好像这里都不推荐用passenger……

#1楼 @imlcl 那用什么好?

两三年不用 Passeger 了,现在主流都在用 nginx + unicorn / puma 了。

brew 里面的标准 nginx 应该是不直接支持 passenger 的,应该装 passenger 自己提供一个特别的修改过的 nginx 版本(安装时自动下载编译)以支持其扩展功能。

不过看你的系统是 10.9,估计是因为目前版本的 passenger 不支持 clang 5.0 的缘故,去 passenger 的网站看看或者直接 clone 一份 passenger 的源码,从 master 上自己 build 一个 gem 出来装一下试试看?

#3楼 @lgn21st #2楼 @assyer 10.9,官方的command line tools还没发布,可以把版本号改为10.8,骗系统装10.8的command line tools,再改为10.9,这样应该能解决编译问题。 我之前一直是apache + passenger,不过是debian环境的。现在都换用puma了。应该比较多人推荐成熟的unicorn或rainbows吧

#4楼 @imlcl 我以为 10.9 没有单独的 command line tools,应该是默认整合到了 Xcode 5.0 中了吧。

#3楼 @lgn21st 我去github上面clone了一份passenger的代码,然后gem build passenger.gemspec得到了我编译的passenger-4.0.5.gem,然后gem install ./passenger-4.0.5.gem也成功了,接着尝试passenger start -p 3001,这个时候提示Installing Phusion Passenger Standalone...然后就rake aborted!了,爆出来的栈是: Tasks: TOP => nginx_without_native_support => /Users/mac/.passenger/standalone/4.0.5/support-x86_64-macosx-10.9/agents/PassengerHelperAgent => /Users/mac/.passenger/standalone/4.0.5/support-x86_64-macosx-10.9/common/libpassenger_common/Logging.o

#6楼 @lgn21st 额,看样子还是去折腾独角兽和彩虹好了,过客终将成为过客嗯~

#3楼 @lgn21st 我安装passenger都是手动指定nginx的src目录的(为官方stable版),具体参数不记得了,可以看看passenger-install-nginx-module --help。如果没记错的话自动下载的source也是nginx官方的,只是版本有点古老。

#7楼 @assyer 可以试试别自己编译passenger的gem,也可以按我说的试试官方最新stable版的nginx,我前些时候还帮人在ubuntu 12.04上编译过passenger 4.0.5+nginx的最新stable版,并没有出现问题。

不过原来3.0.x的时候有一个版本倒是出过问题,喂狗了好久发现要修改nginx某几行源码的顺序…

我猜 LZ 应该不会是在拿 Mac 当生产环境使用. 如果只是为了满足开发环境需要, 直接用 Unicorn / Puma 就可以(这两个都是 HTTP server, 可以i与浏览器直接通信). 没必要折腾 nginx.

#10楼 @5long 主要为未来生产部署做些积累,学校给我们砸钱创业,也不想太浪费了,技术什么的还是得靠自己

#6楼 @lgn21st 我也装了xcode 5.0 DP了,可能还是没有。。。直接我装了10.8的command line tools...可能等正式版出来就会有吧

#11楼 @assyer 为生产部署做准备的话, 建议在虚拟机里装上和生产环境一样的系统, 然后在虚拟机里折腾. 毕竟现在在 Mac 上积累的知识到了生产环境里未必用得上.

#12楼 @imlcl 我安装 xcode 5.0 DP2 之前,先卸载了之前的 xcode,装好后在 terminal 中就已经有了 clang 5.0 了,可能我的其他编译套件我大多是通过 brew 安装的。

#13楼 @5long 感谢您的建议~ #14楼 @lgn21st 多亏您的帮助少走不少弯路呢

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册