Shell命令在生产模式下的Rails中失败

时间:2014-10-27 16:13:47

标签: ruby-on-rails nginx passenger

我已经在VPS上部署了一个Rails 4应用程序,它根据任务执行shell命令。该应用程序使用Passenger在Nginx上运行。

我遇到的情况是没有任何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 1}}结果是/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ...这有什么意义吗?

0 个答案:

没有答案