ホームページ バックエンド開発 Golang Go と Web の入門: 鉄道へのデプロイ

Go と Web の入門: 鉄道へのデプロイ

Jan 03, 2025 am 11:38 AM

Go と Web の入門: 鉄道へのデプロイ

このガイドは、Go を使用して Web アプリを構築する方法を示すことを目的としています。ローカル マシン上で Go を使用して構築された単純な Web サーバーを作成してテストし、Web アプリを Railway にデプロイします。

Railway は、アプリのデプロイに使用できるホスティング サービスです。あらゆる種類のデプロイメント構成をサポートし、アプリのホスティング設定をカスタマイズするための機能が豊富にあります。

始める前に

ガイドに従うには、マシンに Go がインストールされている必要があります。ここから Go をダウンロードしてインストールします: Go をダウンロードしてインストールします。

Git と GitHub CLI がマシンにインストールされている必要があります。ここから Git をダウンロードしてインストールします: ダウンロード - Git。ここから GitHub CLI をダウンロードしてインストールします: GitHub CLI をダウンロードしてインストールします。

GitHub アカウントと Railway アカウントが必要です。ここで GitHub にサインアップします: GitHub アカウントを作成します。ここで鉄道にサインアップしてください: 鉄道アカウントを作成

このガイドで説明されている概念を理解するには、HTML、CSS、JavaScript、HTTP についてある程度の知識が必要です。

最後に、囲碁の知識は役立ちますが、必須ではありません。これは初心者向けのガイドです。

こんにちは世界!行く

作業ディレクトリを開き、新しいファイルを作成し、main.go という名前を付けます。

次のコードを main.go に追加します:

package main

import "fmt"

func main() {
  fmt.Println("Hello, World!")
}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

ファイルを保存し、ターミナルの作業ディレクトリで次のコマンドを実行してテストします。

go run main.go
ログイン後にコピー
ログイン後にコピー

「Hello, World!」というテキストを入力する必要があります。端末出力に。

こんにちは世界!ウェブにアクセスする

Go を使用して簡単な CLI アプリを作成しました。次に、Go を使用して簡単な Web サーバーを作成しましょう。前の手順で作成したコードをコメントアウトします。コメント ブロックの上に、次のコードを追加します:

package main

import "fmt"
import "net/http"

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

  http.ListenAndServe(":80", nil)
}
ログイン後にコピー
ログイン後にコピー

ファイルを保存して実行します。ブラウザで localhost にアクセスすると、「Hello, World!」というテキストが表示されるはずです。ウェブページ上。

Getting Started with Go and the Web: Deploy to Railway

GitHub リポジトリを作成してアップロードする

プロジェクト ディレクトリを Git リポジトリとして初期化します。

git init
ログイン後にコピー
ログイン後にコピー

プロジェクト ファイルをコミットします。この場合、それは main.go ファイルだけです。

git add main.go
ログイン後にコピー
ログイン後にコピー
git commit -m "Initial commit"
ログイン後にコピー

GitHub で認証する

gh auth login
ログイン後にコピー

リポジトリを GitHub にアップロードします

gh repo create my-repo --public --source=. --remote=origin
ログイン後にコピー
git push --set-upstream origin master
ログイン後にコピー

my-repo を希望のリポジ名に置き換えます。

鉄道への展開

Railway では、Web アプリをデプロイするためのさまざまな方法を提供しています。ダッシュボード、CLI、API などを使用できます。この記事: 鉄道導入オプションでは、鉄道プラットフォームにアプリを導入できる数多くの方法をすべて説明します。

まずダッシュボードを使用します。

新しい鉄道プロジェクトを作成する

ブラウザで dev.new にアクセスします。これにより、railway.com/new にリダイレクトされ、展開オプションを含む 新しいプロジェクト モーダルが表示されます。

Getting Started with Go and the Web: Deploy to Railway

GitHub リポジトリからデプロイ を選択し、以前に作成したリポジトリを選択します。

Getting Started with Go and the Web: Deploy to Railway

鉄道プラットフォームは、リポジトリの内容を読み取り、プロジェクトを初期化し、構築して、サービスとして自動的にデプロイします。

Getting Started with Go and the Web: Deploy to Railway

プロジェクトのドメインを生成する

鉄道プロジェクトのサービス内の 設定 を選択します。 ネットワークドメインの生成 をクリックします。これにより、インターネット上のサービスにアクセスできるようになります。

Getting Started with Go and the Web: Deploy to Railway

Railway はアプリのドメイン名を生成します。 ドメインの生成 をクリックすると、数秒後に URL が表示されます。この URL を使用して、インターネット上の Go Web アプリにアクセスします。

Getting Started with Go and the Web: Deploy to Railway

ブラウザで新しく生成されたドメイン名をテストします。 「Hello, World!」というテキストが表示されるはずです。リンクにアクセスすると。

Getting Started with Go and the Web: Deploy to Railway

Go を使用して静的ファイルを提供する

ローカル プロジェクト フォルダーに、新しいフォルダー (static) を作成します。静的ファイル内にindex.htmlという名前の新しいファイルを作成し、次のコードを追加します:

package main

import "fmt"

func main() {
  fmt.Println("Hello, World!")
}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

静的フォルダーから静的ファイルを提供するように main.go ファイルを更新します。作成したすべてのコードをコメントアウトします。コメント ブロックの上に、次のコードを main.go に追加します:

go run main.go
ログイン後にコピー
ログイン後にコピー

コードをテストします:

package main

import "fmt"
import "net/http"

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

  http.ListenAndServe(":80", nil)
}
ログイン後にコピー
ログイン後にコピー

ブラウザで localhost にアクセスすると、「My Static Website」というテキストが含まれた Web ページが表示されます

Getting Started with Go and the Web: Deploy to Railway

鉄道へのアップデートの導入

デプロイメントを更新するには、Git を使用して行ったファイルの変更をステージングしてコミットするだけです。

git init
ログイン後にコピー
ログイン後にコピー
git add main.go
ログイン後にコピー
ログイン後にコピー

その後、更新を GitHub にプッシュします。

package main

import "fmt"

func main() {
  fmt.Println("Hello, World!")
}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

Railway は、変更を GitHub にプッシュした直後にプロジェクトを自動的に更新します。数秒待ってからアプリの URL にアクセスし、変更をテストします

Getting Started with Go and the Web: Deploy to Railway

結論

おめでとうございます! Go を使用して単純な Web アプリを正常に構築し、それを Railway にデプロイしました。基本的な Web サーバーを作成し、静的ファイルを提供し、バージョン管理と展開に GitHub を利用する方法を学びました。 Railway は、ユーザーフレンドリーなプラットフォームと強力な機能により、アプリケーションの導入と管理を簡単にします。 Go と Railway を試し続けて、より複雑でスケーラブルな Web アプリケーションを構築してください。コーディングを楽しんでください!

参考文献

  1. GitHub プロジェクト リポジトリ
  2. Go をダウンロードしてインストールします
  3. ダウンロード - Git
  4. GitHub CLI をダウンロードしてインストールします
  5. GitHub アカウントを作成する
  6. 鉄道アカウントを作成する
  7. 鉄道導入オプション

以上がGo と Web の入門: 鉄道へのデプロイの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Golang vs. Python:パフォーマンスとスケーラビリティ Golang vs. Python:パフォーマンスとスケーラビリティ Apr 19, 2025 am 12:18 AM

Golangは、パフォーマンスとスケーラビリティの点でPythonよりも優れています。 1)Golangのコンピレーションタイプの特性と効率的な並行性モデルにより、高い並行性シナリオでうまく機能します。 2)Pythonは解釈された言語として、ゆっくりと実行されますが、Cythonなどのツールを介してパフォーマンスを最適化できます。

Golang and C:Concurrency vs. Raw Speed Golang and C:Concurrency vs. Raw Speed Apr 21, 2025 am 12:16 AM

Golangは並行性がCよりも優れていますが、Cは生の速度ではGolangよりも優れています。 1)Golangは、GoroutineとChannelを通じて効率的な並行性を達成します。これは、多数の同時タスクの処理に適しています。 2)Cコンパイラの最適化と標準ライブラリを介して、極端な最適化を必要とするアプリケーションに適したハードウェアに近い高性能を提供します。

ゴーを始めましょう:初心者のガイド ゴーを始めましょう:初心者のガイド Apr 26, 2025 am 12:21 AM

goisidealforforbeginnersandsutable forcloudnetworkservicesduetoitssimplicity、andconcurrencyfeatures.1)installgofromtheofficialwebsiteandverify with'goversion'.2)

Golang vs. C:パフォーマンスと速度の比較 Golang vs. C:パフォーマンスと速度の比較 Apr 21, 2025 am 12:13 AM

Golangは迅速な発展と同時シナリオに適しており、Cは極端なパフォーマンスと低レベルの制御が必要なシナリオに適しています。 1)Golangは、ごみ収集と並行機関のメカニズムを通じてパフォーマンスを向上させ、高配列Webサービス開発に適しています。 2)Cは、手動のメモリ管理とコンパイラの最適化を通じて究極のパフォーマンスを実現し、埋め込みシステム開発に適しています。

Golang vs. Python:重要な違​​いと類似点 Golang vs. Python:重要な違​​いと類似点 Apr 17, 2025 am 12:15 AM

GolangとPythonにはそれぞれ独自の利点があります。Golangは高性能と同時プログラミングに適していますが、PythonはデータサイエンスとWeb開発に適しています。 Golangは同時性モデルと効率的なパフォーマンスで知られていますが、Pythonは簡潔な構文とリッチライブラリエコシステムで知られています。

GolangとC:パフォーマンスのトレードオフ GolangとC:パフォーマンスのトレードオフ Apr 17, 2025 am 12:18 AM

GolangとCのパフォーマンスの違いは、主にメモリ管理、コンピレーションの最適化、ランタイム効率に反映されています。 1)Golangのゴミ収集メカニズムは便利ですが、パフォーマンスに影響を与える可能性があります。

パフォーマンスレース:ゴラン対c パフォーマンスレース:ゴラン対c Apr 16, 2025 am 12:07 AM

GolangとCにはそれぞれパフォーマンス競争において独自の利点があります。1)Golangは、高い並行性と迅速な発展に適しており、2)Cはより高いパフォーマンスと微細な制御を提供します。選択は、プロジェクトの要件とチームテクノロジースタックに基づいている必要があります。

Golang vs. Python:長所と短所 Golang vs. Python:長所と短所 Apr 21, 2025 am 12:17 AM

GolangisidealforBuildingsCalables Systemsduetoitsefficiency andConcurrency、Whilepythonexcelsinquickscriptinganddataanalysisduetoitssimplicityand vastecosystem.golang'ssignencouragesclean、readisinediteNeditinesinedinediseNabletinedinedinedisedisedioncourase

See all articles