似乎无法在这里找到直接的答案.
我不确定我是否应该运行./myBinary作为Cron进程,或者我应该运行"go run myapp.go"
什么是确保它始终运行的有效方法?对不起,我已经习惯了Apache和Nginx.
另外,部署Go应用程序的最佳做法是什么?我希望所有(最好)所有服务都在同一台服务器上.就像我的开发环境一样.
我读了一些使用S3的东西,但是,我真的不想使用S3.
使用init进程提供的功能.您可能正在使用Systemd或Upstart运行系统.他们都有非常简单的服务描述,可以确保您的应用程序以正确的权限运行,在任何事情发生故障时重新启动,并且输出正确处理.
有关快速Upstart的说明,请查看此处,您的服务说明可能只是:
start on runlevel [2345]
stop on runlevel [!2345]
setuid the_username_your_app_runs_as
exec /path/to/your/app --options
Run Code Online (Sandbox Code Playgroud)
[Unit]
Description=Your service
[Service]
User=the_username_your_app_runs_as
ExecStart=/path/to/your/app --options
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)