今日のソフトウェア開発では、オペレーティング システムとして Linux を使用する割合が増加しており、その効率性、シンプルさ、同時実行パフォーマンスにより、Golang 言語がますます多くの開発者に好まれています。この記事では、Linux オペレーティング システムに 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環境が正しい場合はインストールしてください。
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! の出力が表示されます。
Golang プログラムを作成したら、それをビルドする必要があります。次のコマンドを使用してビルドします。
$ go build
このコマンドは、プログラムを実行可能ファイルにコンパイルします。実行後、カレントディレクトリにmainという名前のファイルが生成されます。
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 サイトの他の関連記事を参照してください。