所以我希望能够在不输入任何密码的情况下进行 cap:deploy 。我已经设置了所有私钥,所以我可以正常访问远程服务器,现在我通过 ssh 使用 svn,所以那里没有密码。
我还有最后一个问题,我需要能够重新启动 nginx。现在我有 sudo/etc/init.d/nginx reload。这是一个问题 b/c 它使用 capistrano 密码,我刚刚删除的那个 b/c 我正在使用 key 。关于如何在没有密码的情况下重新启动 nginx 的任何想法?
最佳答案
我只是花了一个小时查看 sudoer 通配符等,试图解决这个确切的问题。事实上,你真正需要的只是一个重启 nginx 的 root 可执行脚本。
将此添加到/etc/sudoers 文件中
username hostname ALL=NOPASSWD: /path/to/script
以 root 身份编写脚本
#! /bin/bash
/bin/kill -HUP `cat /var/run/nginx.pid`
使脚本可执行
测试。
sudo /path/to/script
关于nginx - 不用sudo重启nginx?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3011067/