ホームページ  >  記事  >  バックエンド開発  >  Golangサーバーの導入方法を詳しく解説

Golangサーバーの導入方法を詳しく解説

PHPz
PHPzオリジナル
2024-01-16 10:11:091433ブラウズ

Golangサーバーの導入方法を詳しく解説

Golang は近年注目を集めているプログラミング言語で、同時実行性が高く、実行効率が高いという利点があり、バックエンドの開発に Golang を使用する企業が増えています。アプリケーション、したがって、サーバー上での Golang のデプロイ方法も大きな注目を集めています。この記事では、Golang をサーバーにデプロイする方法を詳しく紹介し、具体的なコード例を添付します。

1. 準備

Golang をデプロイする前に、Golang をダウンロードしてインストールする必要があります。 Golang をインストールしていない場合は、Golang 公式 Web サイト (https://golang.org/dl/) からダウンロードしてインストールできます。

さらに、サーバー環境を構成する必要もあります。 Linux サーバーを使用している場合は、サービスを管理するために systemd をインストールすることをお勧めします。 Windows サーバーを使用している場合は、後続の手順で Windows サービスを使用してサービスを管理できます。

2. Golang アプリケーションを作成する

Golang をデプロイする前に、まず Golang アプリケーションを作成する必要があります。以下は、単純な Golang アプリケーションのサンプル コードです:

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)
}

このアプリケーションは、単に HTTP サーバーを起動し、ポート 8080 でリッスンし、クライアントがアクセスすると「Hello, World!」という文字列を返します。

3. アプリケーションをコンパイルする

アプリケーションの作成が完了したら、それを実行可能ファイルにコンパイルする必要があります。次のコマンドを使用して、前の手順でアプリケーションをコンパイルできます。

GOOS=linux GOARCH=amd64 go build -o app main.go

このコマンドは、アプリケーションを Linux システム用の実行可能ファイルにコンパイルし、Linux サーバー上で直接実行できます。

注: Windows システム用にアプリケーションをコンパイルしている場合は、GOOS を Windows に変更して、Windows システム用の実行可能ファイルをコンパイルできます。

4. アプリケーションをデプロイする

Golang アプリケーションを作成してコンパイルしたので、それをサーバーにデプロイできます。

  1. 実行可能ファイルをサーバーにアップロードする

まず、実行可能ファイルをサーバーにアップロードする必要があります。これは、scp コマンドを使用して実現できます。

scp app root@[服务器IP地址]:/opt/app/
  1. systemd サービスの作成と実行

次に、Golang アプリケーションを管理するための systemd サービスを作成します。

サーバー上でターミナルを開き、次のコマンドを入力します:

sudo nano /etc/systemd/system/app.service

このコマンドは、「app.service」という名前のファイルを作成します。このファイルには、次の内容が記述されます。

[Unit]
Description=My Go Application

[Service]
ExecStart=/opt/app/app
Restart=always
User=root
WorkingDirectory=/opt/app

[Install]
WantedBy=multi-user.target

このファイルの意味は次のとおりです。

  • [単位]: サービスの基本情報を記述します。
  • 説明: サービスの説明情報。
  • [サービス]: サービスの特定の構成情報を指定します。
  • ExecStart: 実行するコマンドまたは実行可能ファイルを指定します。
  • 再起動: サービスが異常終了したときにサービスを自動的に再起動するように指定します。
  • ユーザー: サービスを実行するユーザーを指定します。
  • WorkingDirectory: サービス実行時の作業ディレクトリを指定します。
  • [インストール]: このサービスのインストール方法を指定します。
  • WantedBy: システムがサービスを実行するときにサービスを開始する必要があるターゲット (ターゲット) を示します。

ファイルを保存して閉じ、次のコマンドに従ってサービスを開始および管理します。

sudo systemctl daemon-reload
sudo systemctl start app
sudo systemctl enable app

最初のコマンドは、システム構成ファイル情報を再ロードするために使用され、 2 番目のコマンドはサービスを開始するために使用され、3 番目のコマンドは起動時にサービスが自動的に開始されるように設定するために使用されます。

5. アプリケーションをテストします

Golang アプリケーションをサーバーに正常にデプロイしたので、ブラウザまたはcurl コマンドを使用してアプリケーションの動作をテストできます:

curl http://[服务器IP地址]:8080

すべてがうまくいけば、コマンド ラインに「Hello, World!」という文字列が表示されます。

6. 概要

上記は、systemd を使用して Golang アプリケーションをサーバーにデプロイする詳細なプロセスです。サーバー側での Golang のデプロイは非常に簡単で、最初に Golang アプリケーションを作成し、次に systemd または Windows サービスを使用してサービスを管理するだけです。この記事が、Golang を学習し、Golang をサーバーサイドにデプロイしている開発者にとって役立つことを願っています。

以上がGolangサーバーの導入方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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