搜索
首页后端开发GolangGo 和 Web 入门:部署到 Railway

Go 和 Web 入门:部署到 Railway

本指南旨在向您展示如何使用 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 才能跟上指南中讨论的概念。

最后,Go 的知识很有用,但不是强制性的。这是初学者指南。

你好世界!去

打开您的工作目录并创建一个新文件并将其命名为 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 id="Hello-World">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 等。本文:Railway 部署选项解释了在 Railway 平台上部署应用程序的所有多种方法。

我们将使用仪表板作为开始。

创建新的铁路项目

在浏览器中访问 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

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。在 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 id="Hello-World">Hello, World!</h1>")
  })

  http.ListenAndServe(":80", nil)
}

在浏览器中访问 localhost,您应该会看到一个带有文本的网页:“我的静态网站”

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 入门:部署到 Railway的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
如何使用'字符串”软件包逐步操纵字符串如何使用'字符串”软件包逐步操纵字符串May 13, 2025 am 12:12 AM

Go的strings包提供了多种字符串操作功能。1)使用strings.Contains检查子字符串。2)用strings.Split将字符串分割成子字符串切片。3)通过strings.Join合并字符串。4)用strings.TrimSpace或strings.Trim去除字符串首尾的空白或指定字符。5)用strings.ReplaceAll替换所有指定子字符串。6)使用strings.HasPrefix或strings.HasSuffix检查字符串的前缀或后缀。

Go Strings软件包:如何改进我的代码?Go Strings软件包:如何改进我的代码?May 13, 2025 am 12:10 AM

使用Go语言的strings包可以提升代码质量。1)使用strings.Join()优雅地连接字符串数组,避免性能开销。2)结合strings.Split()和strings.Contains()处理文本,注意大小写敏感问题。3)避免滥用strings.Replace(),考虑使用正则表达式进行大量替换。4)使用strings.Builder提高频繁拼接字符串的性能。

GO BYTES软件包中最有用的功能是什么?GO BYTES软件包中最有用的功能是什么?May 13, 2025 am 12:09 AM

Go的bytes包提供了多种实用的函数来处理字节切片。1.bytes.Contains用于检查字节切片是否包含特定序列。2.bytes.Split用于将字节切片分割成smallerpieces。3.bytes.Join用于将多个字节切片连接成一个。4.bytes.TrimSpace用于去除字节切片的前后空白。5.bytes.Equal用于比较两个字节切片是否相等。6.bytes.Index用于查找子切片在largerslice中的起始索引。

使用GO的'编码/二进制”软件包掌握二进制数据处理:综合指南使用GO的'编码/二进制”软件包掌握二进制数据处理:综合指南May 13, 2025 am 12:07 AM

theEncoding/binarypackageingoisesenebecapeitProvidesAstandArdArdArdArdArdArdArdArdAndWriteBinaryData,确保Cross-cross-platformCompatibilitiational and handhandlingdifferentendenness.itoffersfunctionslikeread,写下,写,dearte,readuvarint,andwriteuvarint,andWriteuvarIntforPreciseControloverBinary

转到'字节”软件包快速参考转到'字节”软件包快速参考May 13, 2025 am 12:03 AM

回顾bytespackageingoiscialforhandlingbyteslicesandbuffers,offeringToolsforefficeMemoryManagement和datamAnipulation.1)ItProvidesfunctionalitiesLikeCreatingBuffers,比较,搜索/更换/更换/更换forlargedAtatAsetsets.n

掌握GO弦:深入研究'字符串”包装掌握GO弦:深入研究'字符串”包装May 12, 2025 am 12:05 AM

你应该关心Go语言中的"strings"包,因为它提供了处理文本数据的工具,从基本的字符串拼接到高级的正则表达式匹配。1)"strings"包提供了高效的字符串操作,如Join函数用于拼接字符串,避免性能问题。2)它包含高级功能,如ContainsAny函数,用于检查字符串是否包含特定字符集。3)Replace函数用于替换字符串中的子串,需注意替换顺序和大小写敏感性。4)Split函数可以根据分隔符拆分字符串,常用于正则表达式处理。5)使用时需考虑性能,如

GO中的'编码/二进制”软件包:您的二进制操作首选GO中的'编码/二进制”软件包:您的二进制操作首选May 12, 2025 am 12:03 AM

“编码/二进制”软件包interingoisentialForHandlingBinaryData,oferingToolSforreDingingAndWritingBinaryDataEfficely.1)Itsupportsbothlittle-endianandBig-endianBig-endianbyteorders,CompialforOss-System-System-System-compatibility.2)

Go Byte Slice操纵教程:掌握'字节”软件包Go Byte Slice操纵教程:掌握'字节”软件包May 12, 2025 am 12:02 AM

掌握Go语言中的bytes包有助于提高代码的效率和优雅性。1)bytes包对于解析二进制数据、处理网络协议和内存管理至关重要。2)使用bytes.Buffer可以逐步构建字节切片。3)bytes包提供了搜索、替换和分割字节切片的功能。4)bytes.Reader类型适用于从字节切片读取数据,特别是在I/O操作中。5)bytes包与Go的垃圾回收器协同工作,提高了大数据处理的效率。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境