capistrano 在部署项目时出现"sorry, you must have a tty to run sudo“怎么处理呢?

capistrano 部属一项目,当执行到”sudo xx/xx/xx/nginx -s reload“ 时出现”sorry, you must have a tty to run sudo“这个问题说明什么呢?
ps:
操作系统是centos 5 我也在网上找到一些方法,例如:
http://blog.csdn.net/chinalinuxzend/article/details/3747299
http://www-01.ibm.com/support/docview.wss?uid=swg21567671
也照做了。但是没有起作用,反而在部属的时候要我输入:Password: 。有类似的情况吗?

1 个回答

没在CentOS上使用过Capistrano,尝试回答一下。
按照上边连接注释掉 /etc/sudoers中 ‘Defaults requiretty‘

如果是rails项目需要在config/deploy.rb中加入下边这句
set :use_sudo, false

之后需要
cap deploy:check

如果还有问题,可否进一步告知,文中xx/xx/xx/nginx 是否是/etc/rc.d/init.d/下的启动脚本?权限是?