Digital Ocean Ubuntu 将 ServiceStack 作为守护进程运行

Digital Ocean Ubuntu 将 ServiceStack 作为守护进程运行

全部,

我已成功在 DigitalOcean Ubuntu MEAN Stack droplet 上安装了 ServiceStack 控制台应用程序,并且可以使用 mono 从命令行运行它。执行此操作后,我可以使用笔记本电脑上的 Postman 访问我的应用程序。

我也尝试过使用 Upstart 将我的应用程序作为守护进程运行。我可以从日志中看到它在我重新启动时成功启动,但除非我以 root 身份登录并从命令行启动我的控制台应用程序,否则在作为守护进程运行时我无法从外部访问控制台应用程序。我尝试过启用 ufw(配置为允许我正在使用的端口)和禁用 ufw,但没有任何区别。我可以在 syslog 和 GeoAPIConsole.log 中看到控制台应用程序在端口 1337 上触发并启动,但我仍然无法从外部访问它。

我确信这是我的控制台应用程序的 upstart 配置文件中的权限问题,但由于我是 Linux 新手,我不清楚下一步该如何让这个控制台应用程序作为守护进程使用。

非常感谢任何帮助...

布鲁斯

# ServiceStack GeoAPIConsole Application

# description “GeoAPIConsole”
# author      “Bruce Parr”

setuid root
# start on started rc
start on started networking
stop on stopping rc

respawn

exec start-stop-daemon --start --exec /usr/bin/mono /var/console/GeoAPIConsole.exe

答案1

这有效。我添加了用户 geoapiconsole,并添加了 -S 和 -c 开关

# ServiceStack Example Application

description "ServiceStack Example"
author      "ServiceStack"

start on started rc
stop on stopping rc

respawn

exec start-stop-daemon -S -c geoapiconsole --exec /usr/bin/mono /var/console/GeoAPIConsole.exe

相关内容