nginx - 不用sudo重启nginx?

标签 nginx deployment capistrano

所以我希望能够在不输入任何密码的情况下进行 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/

相关文章:

reactjs - create-react-app 服务从 nginx 加载资源时出错

ssl - 无法在 Laradock Nginx 中启动 Certbot 容器

c# - 从网络共享运行 C#.net winForms 的性能考虑

rvm - RVM gem -生产中的Bundler和Capistrano

ruby-on-rails - 在使用 When 和 Capistrano 时,在任何来源中都找不到 rake 10.0.3

angular - 使用Nginx构建Docker镜像

nginx - 307 临时重定向不起作用 nginx 1.18

PHP 部署到 windows/unix 服务器

deployment - 如何从 .reg 文件生成 WiX XML?

ruby-on-rails - 使用 Capistrano 将 Rails 应用程序部署到多个 Web 服务器