Golang は、オープンソースの高速かつ効率的なプログラミング言語であり、現在インターネット開発の分野で広く使用されています。開発が完了したら、Golang プロジェクトをドメイン名にデプロイすることが非常に必要です。そこでこの記事では、Golang プロジェクトをドメイン名にデプロイする方法を紹介します。
Golang プロジェクトのデプロイを開始する前に、プロジェクト自体を十分に理解する必要があります。プロジェクトのソース コード、フォルダー構造、依存パッケージなどを理解することは、展開プロセス中に発生する可能性のある問題に適切に対処するのに役立ちます。
Nginx は、同じ IP アドレスとポート アスクでリッスンする複数のドメイン名間で転送できる人気の Web サーバー ソフトウェアです。これにより、単一の IP アドレスから複数の仮想ホストにサービスを提供できるようになります。 Nginx リバース プロキシを使用すると、リクエストを Nginx 経由で Golang プロジェクトのリスニング ポートに転送できるため、ドメイン名のデプロイが実現します。
まず、Nginx をインストールし、構成ファイルに次の場所を追加します。
location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
この構成により、Nginx はルート パスにアクセスするリクエストをリッスンし、ローカル 8080 ポートに転送します。
Gunicorn は、マルチプロセス アプローチを使用してリクエストを処理する、Python ベースの WSGI HTTP サーバーです。 Gunicorn は Python プロジェクトですが、Golang のデプロイメントと非常に互換性があります。 Golang プロジェクトは、Gunicorn を通じてドメイン名にデプロイできます。
まず、Gunicorn をインストールし、次のコマンドを使用して Golang プロジェクトを開始します:
gunicorn --bind 127.0.0.1:8080 main:app
このコマンドは Gunicorn サーバーを起動し、ローカル 8080 ポートをリッスンし、リクエストをアプリ関数に転送します。メインファイルの。
Systemd は、Linux システム用のシステムおよびサービス マネージャーです。システムの起動時に一連のサービスを実行し、問題が発生した場合にはこれらのサービスの再起動を試みます。 Systemd は Golang プロジェクトの実行をより適切に管理できます。
まず、systemd ユニット ファイルを作成し、次の内容を追加します。
[Unit] Description=Golang Application [Service] ExecStart=/usr/bin/gunicorn --bind 127.0.0.1:8080 main:app User=root Group=root WorkingDirectory=/opt/golang-project Restart=always [Install] WantedBy=multi-user.target
このファイルには、Golang プロジェクトの名前、実行モード、作業ディレクトリ、およびその他の情報が記述されます。次に、次のコマンドを使用して systemd サービスを開始します。
sudo systemctl start my-golang-app
このコマンドは、「my-golang-app」という名前のサービスを開始します。システムの起動時にこのサービスが自動的に開始されるようにするには、次のコマンドを使用します。
sudo systemctl enable my-golang-app
要約
この記事では、Golang プロジェクトをドメイン名にデプロイする方法について詳しく説明します。 Nginxリバースプロキシ、Gunicorn利用、運用保守管理にSystemd利用など。これらの方法を通じて、Golang プロジェクトの管理とデプロイをより適切に行い、実際のアプリケーションで Golang の利点を十分に探索し、開発効率と Web サービスのパフォーマンスを向上させることができます。
以上がGolang プロジェクトをドメイン名にデプロイする方法の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。