(是,我已经检查了其他答案,这与行尾无关。)
我在Passenger
上部署nginx
时遇到以下子流程错误。这是在FreeBSD-11.1
上:
env: bash: No such file or directory
很奇怪。 nginx
进程从root
开始,然后移至nobody
,我的外壳确实更改为/usr/local/bin/bash
。这些用户中的任何一个看不到bash
的方式都很奇怪。但是他们报告的路径不包括/usr/local/bin
:
root
环境:
uid=0(root) gid=0(wheel) groups=0(wheel),5(operator)
SERVER_SOFTWARE=nginx/1.14.0 Phusion_Passenger/5.3.4
PASSENGER_USE_FEEDBACK_FD=true
PATH=/sbin:/bin:/usr/sbin:/usr/bin
PWD=/
HOME=/
RC_PID=1360
对于nobody
:
uid=65534(nobody) gid=65534(nobody) groups=65534(nobody)
PYTHONUNBUFFERED=1
PASSENGER_SPAWN_WORK_DIR=/tmp/passenger.spawn.lJk10nqveb
RC_PID=1360
PASSENGER_USE_FEEDBACK_FD=true
NODE_PATH=/usr/local/lib/ruby/gems/2.5/gems/passenger/src/nodejs_supportlib
NODE_ENV=production
USER=nobody
PWD=/usr/local/www/pneb
HOME=/nonexistent
PASSENGER_APP_ENV=production
RAILS_ENV=production
SHELL=/usr/local/bin/bash
RACK_ENV=production
SHLVL=0
IN_PASSENGER=1
WSGI_ENV=production
LOGNAME=nobody
PATH=/sbin:/bin:/usr/sbin:/usr/bin
SERVER_SOFTWARE=nginx/1.14.0 Phusion_Passenger/5.3.4
这些用户都看不到bash。我不确定哪个引发了错误。
如何解决这个问题?我希望Passenger
与nginx
一起使用能够看到外壳。
答案 0 :(得分:1)
解决了,感谢查尔斯·达菲的聊天:
在nginx
的{{1}}启动器中添加以下内容:
/usr/local/etc/rc.d/nginx
这给nginx一个PATH=$PATH:/usr/local/bin
来查看PATH
。
答案 1 :(得分:0)
谢谢。这可以通过在.zsh终端中运行它来解决我的问题
通过运行$ nano .zshrc打开.zshrc 然后 将此添加到文件中: PATH = $ PATH:/ usr / local / bin:$ PATH