希望这是提出这个问题的正确网站。
我有一个web服务,我试图build立与使用Phusion Passenger乘坐Ruby Sinatra应用程序的NginX。 问题是,当我尝试启动服务器并testing该网站时,出现以下错误:
zsh:1: no such file or directory: passenger/buildout/agents/SpawnPreparer
现在,我已经能够确定SpawnPreparer
正在调用zsh
,但是,我不知道为什么。 我甚至不使用zsh
,而且在构build服务器时我没有使用它。 不过,我想知道的是,如果可以在nginx.conf中configuration乘客使用不同的shell来产生其进程? 如果是这样,怎么样?
这是Phusion 4.0.14
谢谢!
当Phusion Passenger产生一个应用程序时,它通过调用命令$SHELL -lc '/path-to-passenger-root/buildout/agents/SpawnPreparer /path-to-passenger-root/helper-scripts/rack-loader.rb <SOME ARGUMENTS>'
。 这里描述: https : //github.com/phusion/passenger/wiki/Debugging-application-startup-problems#the-spawning-process-explained 。 在这里,$ SHELL是用户的shell,在OS的用户数据库(/ etc / passwd)中configuration。 在你的情况下,你的用户使用zsh作为它的shell。 这可能是您的操作系统的默认设置。
您的错误消息表明它不能执行文件passenger/buildout/agents/SpawnPreparer
。 换句话说,Phusion Passenger认为/path-to-passenger
乘客/path-to-passenger
等于passenger
。 这可能意味着你设置了不正确的值,这个值指示passenger_root
/path-to-passenger
的正确值。