ホームページ  >  記事  >  バックエンド開発  >  Linux オペレーティング システムに Golang アプリケーションをデプロイする方法

Linux オペレーティング システムに Golang アプリケーションをデプロイする方法

PHPz
PHPzオリジナル
2023-04-14 09:33:52985ブラウズ

今日のソフトウェア開発では、オペレーティング システムとして Linux を使用する割合が増加しており、その効率性、シンプルさ、同時実行パフォーマンスにより、Golang 言語がますます多くの開発者に好まれています。この記事では、Linux オペレーティング システムに Golang アプリケーションをデプロイする方法を紹介します。

  1. Golang 環境のインストール

Golang プログラムのデプロイを開始する前に、まず Golang 環境をインストールする必要があります。まず、Golang バイナリ インストール パッケージをダウンロードします。バイナリ インストール パッケージの最新バージョンは、公式 Web サイト (https://golang.org/dl/) からダウンロードできます。

ダウンロード後、ファイルを解凍し、解凍されたフォルダーを /usr/local ディレクトリに移動します。

$ tar -C /usr/local -xzf go1.17.2.linux -amd64.tar .gz

次に、環境変数を設定し、/usr/local/go/bin を PATH に追加します。

$ export PATH=$PATH:/usr/local/ go/bin

Golang 環境が正しくインストールされているかどうかを確認するには、次のコマンドを使用できます。

$ go version

Golang のバージョン情報が返された場合は、 Golang環境が正しい場合はインストールしてください。

  1. Golang アプリケーションの作成

Golang アプリケーションのデプロイを開始する前に、まず Golang アプリケーションを作成する必要があります。ここでは、単純な HTTP サービスを例として取り上げます。

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello, World!")
    })

    http.ListenAndServe(":8080", nil)
}

このプログラムは、ローカル ポート 8080 で HTTP サービスを開始します。ブラウザで http://localhost:8080 にアクセスすると、Hello, World! の出力が表示されます。

  1. Golang プログラムのビルド

Golang プログラムを作成したら、それをビルドする必要があります。次のコマンドを使用してビルドします。

$ go build

このコマンドは、プログラムを実行可能ファイルにコンパイルします。実行後、カレントディレクトリにmainという名前のファイルが生成されます。

  1. Golang プログラムのデプロイ

Golang アプリケーションは、次の 2 つの方法でデプロイできます。

4.1 実行可能ファイルを直接実行する

最も簡単な方法は、実行可能ファイルを直接実行することです。次のコマンドを実行します:

$ ./main

このコマンドは、Golang アプリケーションを起動し、ローカル ポート 8080 で HTTP サービスを開始します。

ただし、この方法には、プログラムがクラッシュした後に自動的に再起動できないこと、クラスターのデプロイメントを実行できないことなど、いくつかの欠点があります。

4.2 管理に systemd を使用する

上記の問題を解決するために、systemd を使用して Golang プログラムを管理できます。 systemd は、Linux システムのシステムおよびサービス マネージャーです。 systemd を使用すると、Golang プログラムをシステム サービスとして実行できます。

まず、myapp.service という名前のサービス構成ファイルを作成し、次の内容をファイルにコピーします。

[Unit]
Description=My Golang App
After=syslog.target network.target

[Service]
Type=simple
ExecStart=/usr/local/golang/bin/myapp
Restart=on-failure

[Install]
WantedBy=multi-user.target

この構成ファイルには、My Golang App という名前で実行するサービスが記述されており、それを再起動します。プログラムに問題がある場合。

次に、ファイルを /etc/systemd/system ディレクトリに保存し、次のコマンドを使用して systemd 構成を再ロードします:

$ systemctl daemon-reload

次に、次のコマンドを使用してサービスを開始します:

$ systemctl start myapp

次のコマンドを使用してサービスのステータスを確認します:

$ systemctl status myapp

IfすべてOKです。実行してください。結果はアクティブ (実行中) と表示されるはずです。

最後に、次のコマンドを使用してサービスを自動的に開始します:

$ systemctl enable myapp

この時点で、Golang プログラムが正常にデプロイされ、次のコマンドを使用してプログラムを管理できました。システムド。

概要

この記事では、Linux オペレーティング システムに Golang アプリケーションをデプロイする方法を紹介します。まず、Golang 環境をインストールし、次に簡単な HTTP サービス プログラムを作成し、go build コマンドを使用してそれをビルドしました。最後に、実行可能ファイルを直接実行する方法と、systemd を使用して管理する方法の 2 つの展開方法を導入しました。この記事が、開発者が Golang プログラムを正常にデプロイするのに役立つことを願っています。

以上がLinux オペレーティング システムに Golang アプリケーションをデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。