ホームページ >バックエンド開発 >Golang >Linux で Go 言語アプリケーションをデプロイする方法

Linux で Go 言語アプリケーションをデプロイする方法

PHPz
PHPzオリジナル
2023-04-05 09:09:041608ブラウズ

今日のソフトウェア開発業界では、go 言語には他の言語と比較して、強力な同時実行性、簡単な開発、高速な速度という利点があります。したがって、アプリケーション開発に Go 言語を使用することを選択する企業が増えています。では、Go 言語アプリケーションをデプロイする場合、Linux 上でどのようにデプロイすればよいでしょうか?

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

デプロイメントの前に、まず Linux に go 言語をインストールする必要があります。 go 言語をインストールする前に、Linux システムに gcc、make などの必要な依存関係がインストールされていることを確認する必要があります。これらの依存関係をインストールするには、次のコマンドを使用できます:

sudo apt-get update
sudo apt-get install build-essential

次に、go 言語をダウンロードして解凍します:

wget https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz
tar -xvf go1.13.5.linux-amd64.tar.gz

解凍後、それを /usr/local に移動します。 / directory の場合、コマンドは次のとおりです:

sudo mv go /usr/local/

次に、go 言語の bin ディレクトリ パスを PATH 環境変数に追加する必要があります:

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

上記のコマンドを追加しますファイル /etc/profile に追加して永続化します。

2. アプリケーションのデプロイ

Linux 上で Go 言語アプリケーションをデプロイするにはさまざまな方法がありますが、一般的に使用される 2 つの方法を以下に示します。

1. ソース コードを使用したデプロイ

まず、Linux に Git をインストールする必要があります:

sudo apt-get install git

次に、コードを $GOPATH/src/# に複製します。 # #ディレクトリ:

git clone https://github.com/xxxxx/xxxxx.git
アプリケーションのコンパイル:

cd $GOPATH/src/xxxxx
go build main.go
最後にアプリケーションを実行:

./main
2. バイナリ ファイルのデプロイメントを使用します

このメソッドは、開発プロセスでは、go パッケージング ツールを使用してアプリケーションをバイナリ ファイルにパッケージ化し、そのファイルを Linux サーバーにアップロードしてデプロイできます。具体的な手順は次のとおりです。

GOOS=linux GOARCH=amd64 go build main.go
実行後、

main という名前のバイナリ ファイルが生成されます。この時点で、ファイルを Linux サーバーにアップロードし、コマンド ラインで実行します:

./main
3. サービス管理に Supervisord を使用する

Supervisord は、使用できるオープン ソースのプロセス管理ツールです。 Unix/Linux システム上のプロセスを監視および管理します。以下では、サービス管理に Supervisord を使用する方法について説明します。

まず、Supervisord をインストールする必要があります:

sudo apt-get install supervisor
インストール後、構成ファイル

/etc/supervisor/conf.d/ を編集し、次の内容を追加する必要がありますcontent:

[program:app-name]
directory = /path/to/app
command = /path/to/app/main
autostart = true
autorestart = true
stdout_logfile = /var/log/app/stdout.log
stderr_logfile = /var/log/app/stderr.log
このうち、

app-name は実行するアプリケーションの名前、directory はアプリケーションが配置されているパス、 command はアプリケーションを起動するコマンドです。 autostartautorestart はスーパーバイザーによる自動起動および再起動メカニズムです。 stdout_logfilestderr_logfileはログ ファイルのパスです。

最後に、Supervisord サービスを再起動します。

sudo supervisorctl reread
sudo supervisorctl update
sudo service supervisor restart
上記は、Supervisord をサービス管理に使用する手順です。

概要

この記事では、Go 言語のインストール、アプリケーションのデプロイ、サービス管理での Supervisord の使用など、Linux で Go 言語アプリケーションをデプロイする方法について詳しく説明します。これらの方法はすべて実行可能であり、実際のアプリケーションにおける特定の状況に応じて選択できます。これらのテクニックを理解して習得することによってのみ、開発したアプリケーションを迅速かつ簡単にデプロイできるようになります。

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

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