我已经在VPS上部署了一个Rails 4应用程序,该应用程序根据任务执行shell命令。 该应用程序可在Nginx上与Passenger一起运行。
我遇到的情况是没有任何shell命令起作用。 经过一些调试后,我注意到每个命令都返回“找不到”错误消息。
例如:
out = %x[date 2>&1] # outputs 'sh: 1: date: not found\n'
为什么会这样呢? 我应该设置一些配置设置以允许在生产模式下使用Shell命令吗? 我对Rails很陌生,所以我不确定是什么原因造成的。
更新:
这是更多信息,当从rails whoami
查询时,我得到www-data
,如果我打印$ PATH,我得到/usr/local/lib/ruby/gems/2.1.0/bin
但是如果在命令行中执行sudo -u www-data printenv PATH
结果是/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
...这有意义吗?