私はちょうどNodeJSからGoにWebアプリケーションを移行しましたが、実行に問題があります。以前は、Nodeアプリケーションで作業するときは、次のものを使用していました。微粒子起動アプリケーションを処理します。しかし、Goではこれを行うための良い方法はありません。
独自のサービスを提供することを検討してみましたが、rc.d
役に立つものが見つかりませんでした。見つけることができるショートカットがありますか?必要に応じてソースコードをバイナリにコンパイルできます。
現在はTTYで実行していますが、デーモンだったら本当にいいです。
編集する:明確にするために、NGiNXを使用してGoアプリケーションを逆プロキシします。
答え1
インフラストラクチャを使用したくない場合は(必要)、適切なものを追加できますが、すべてが完了して実行されることに注意してください。どこかで実行しrc.d
たいかどうかを確認してください/etc/rc.local
。root
su
chroot
この方法を使用するには、およびのrc.d
マニュアルページを参照することをお勧めします。別のオプションは、移植されたGo Webアプリケーションを見つけてインストールし、実行する方法を確認することです。たとえば、giteaはコンパイルされたバイナリとしてインストールされ、非常に単純なスクリプトがあります。rc.d
rc.subr
/usr/ports/infrastructure/templates/rc.template
/etc/rc.d/gitea
#!/bin/ksh
#
# $OpenBSD: gitea.rc,v 1.6 2021/01/17 21:07:41 pvk Exp $
daemon="/usr/local/sbin/gitea"
daemon_user="_gitea"
. /etc/rc.d/rc.subr
rc_bg=YES
rc_reload=NO
rc_cmd $1
答え2
私は実際にOpenBSDの専門家ではありませんが、起動時にhttpdが起動することを確認する必要はありませんか?