以非特权用户身份运行守护进程

Nie*_* B. 3 ubuntu process-management daemon

我正在尝试在我的 Ubuntu VPS 上设置一个 Thin Ruby 应用程序服务器。我创建了一个特定的帐户,在它下面安装了 rbenv 和所有的 gems。

我正在寻找一种方便的方法来实现以下目标:

  1. 在我的非特权用户帐户下运行我的 Thin Rack 应用程序。
  2. 使应用程序作为守护进程运行
  3. 让守护进程在系统启动时自动运行
  4. 使守护程序可重新启动
  5. 通过 unix 域套接字使 Nginx 可以访问该应用程序。

目标二和三是最棘手的。是否可以为用户定义脚本,以便在系统启动时以该用户身份运行?

Ant*_*hon 5

为了在启动时启动,在您的用户 crontab 文件中添加一行(使用crontab -e):

@reboot /path/to/your/script 带参数

该脚本的实际内容因您的需要而异。它可能只是启动守护程序,或者它可能会启动您传递配置的更智能的代理。这样,如果您的服务由于某种原因意外终止,您可以自动重新启动它。