ホームページ > バックエンド開発 > Golang > golang デーモンをセットアップする

golang デーモンをセットアップする

WBOY
リリース: 2023-05-15 09:15:37
オリジナル
1110 人が閲覧しました

Go アプリケーションを開発およびデプロイする場合、バックグラウンドで実行し、システムの起動時に自動的に開始できるように、アプリケーションをデーモン プロセスとして構成する必要があることがよくあります。この記事では、アプリケーションを簡単に制御および管理できるように、Go アプリケーションをデーモンとして設定する方法について説明します。

1. systemd の使用

systemd は、Linux システムのシステム プロセスを管理および監視するために使用できるデーモン システムおよびシステム マネージャーです。 systemd をインストールし、Go アプリケーションを Systemd サービスとして構成した後、systemctl コマンドを使用してサービスを開始、停止、リロードできます。

Go アプリケーションを Systemd サービスとして構成する簡単な手順は次のとおりです:

  1. systemd サービス ファイルを作成します

お好みのテキストを使用してくださいエディター ブラウザーで新しいファイルを作成し、次の内容をコピーしてファイルに貼り付けます:

[Unit]
Description=My Go Service
After=network.target

[サービス]
User=
Group=
ExecStart=
Restart=always

[ [インストール]
WantedBy=multi-user.target

次のパラメータを置き換えることに注意してください:

  • Description: サービスの説明。
  • ユーザー: アプリケーションを実行するユーザー。
  • グループ: アプリケーションのユーザーが属するグループ。
  • ExecStart: Go アプリケーションの絶対パス。
  • 再起動: サービスを停止した後、自動的に再起動します。

2. ファイルを .service ファイルとして保存します

ファイルを「mygo.service」という名前で保存し、「/etc/systemd/system」ディレクトリに配置します。これにより、Systemd が起動時にサービス ファイルをロードできるようになります。

3. Systemd のリロード

次のコマンドを実行して Systemd をリロードし、新しいサービス ファイルを認識させます:

sudo systemctl daemon-reload

4. サービスを開始します

次のコマンドを実行してサービスを開始します:

sudo systemctl start mygo.service

5.サービスのステータスを確認します

次のコマンドを実行します。 サービスが実行中かどうかを確認するには、次のコマンドを実行します。

sudo systemctl status mygo.service

ステータスが「running」の場合、サービスが実行中であることを意味します。

2. スーパーバイザーの使用

スーパーバイザーは、Unix システム上のプロセスを管理および監視するアプリケーションです。 Go アプリケーションを簡単に管理でき、自動再起動やログ出力などの機能もサポートしています。

Ubuntu で Go アプリケーションを保護するためにスーパーバイザーを設定する手順は次のとおりです:

  1. スーパーバイザーのインストール

sudo apt-get installvisor

2. スーパーバイザー構成の作成

お気に入りのテキスト エディターを使用して新しいファイルを作成し、次の内容をコピーしてファイルに貼り付けます:

[program:mygo]
command=/usr/bin/go run /path/to/your/go/app
user=
autostart=true
autorestart=true
stderr_logfile=/var/log /mygo.err.log
stdout_logfile=/var/log/mygo.out.log

次のパラメータを置き換えてください:

  • プログラム: プログラムの名前スーパーバイザープログラム。
  • コマンド: Go アプリケーションへの絶対パス。
  • user: アプリケーションを実行するユーザー。
  • stderr_logfile: エラー ログを記録するためのファイル パス。
  • stdout_logfile: 標準出力ログを記録するためのファイル パス。

3. ファイルを .conf ファイルとして保存します

ファイルを「mygo.conf」として保存し、「/etc/supervisor/conf.d」ディレクトリに配置します。真ん中。

4. スーパーバイザーのリロード

次のコマンドを実行してスーパーバイザーをリロードし、新しいスーパーバイザー サービス ファイルを認識させます:

sudo supervisorctlreaded

5サービスを開始します

次のコマンドを実行してサービスを開始します:

sudovisorctl start mygo

6. サービスのステータスを確認します

次のコマンドを実行しますサービスが実行中かどうかを確認するコマンド:

sudovisorctl status mygo

ステータスが「実行中」の場合は、サービスが実行中であることを意味します。

概要

systemd と Supervisor のどちらを使用するかに関係なく、これらは Linux プロセスを管理および監視するための強力なツールです。これらのツールを使用して Go アプリケーションをデーモンとして構成すると、アプリケーションを簡単に制御および管理し、システム起動時にアプリケーションが自動的に開始されるようにすることができます。

以上がgolang デーモンをセットアップするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート