似乎无法在这里找到直接的答案。
我不确定我是否应该将 ./myBinary 作为 Cron 进程运行,或者我是否应该运行“go run myapp.go”
确保它始终运行的有效方法是什么? 对不起,我习惯了 Apache 和 Nginx。
此外,部署 Go 应用程序的最佳做法是什么?我希望所有内容(最好)都在同一台服务器上提供。就像我的开发环境是怎样的。
我读过其他使用 S3 的东西,但是,我真的不想使用 S3。
最佳答案
使用您的 init 进程提供的功能。您可能正在使用 Systemd 或 Upstart 运行系统。它们都有非常简单的服务描述,可以确保您的应用程序以正确的权限运行,在出现任何问题时重新启动,并且输出得到正确处理。
快速 Upstart description look here ,您的服务描述很可能只是:
start on runlevel [2345]
stop on runlevel [!2345]
setuid the_username_your_app_runs_as
exec /path/to/your/app --options
快速 Systemd description look here ,您的服务很可能只是:
[Unit]
Description=Your service
[Service]
User=the_username_your_app_runs_as
ExecStart=/path/to/your/app --options
[Install]
WantedBy=multi-user.target
关于linux - 如何在 Ubuntu 服务器上连续运行 go 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31602094/