2 minutes reading time
前面讲解了 Fly.io 的初步入门使用,本文讲解在没有 docker 环境情况下部署 go 开发的应用。
这里为了演示方便, 简单使用 go 编写一个:
package main
import (
"fmt"
"log"
"net/http"
)
func main()
这个步骤上篇文章已经介绍过来,还不了解如何安装登录的可以参考前面的文章。
进入项目的根目录,执行 flyctl launch
,它会根据你输入的配置(主要是应用名,部署区域,是否需要数据库和redis)来生成相应的配置文件,并帮你在远程构建器上打包镜像并部署,如果有 DOCKERFILE 文件就会使用你的进行构建,如果没有就会使用相应的官方文件进行构建镜像.
需要注意的是你的应用需要监听 8080 端口,否则部署时会报错
从日志可以看到打包好的镜像名是 registry.fly.io/cool-grass-2591:deployment-01GHPEDCXBC3K5NAGHNZWKT49H
我们来看看 flyctl 帮我们生成的 fly.toml 具体内容:
# fly.toml file generated for cool-grass-2591 on 2022-11-13T01:32:35+08:00
= "cool-grass-2591"
= "SIGINT"
= 5
= []
[]
[]
= []
= true
[[]]
= []
= 8080
= ["app"]
= "tcp"
= []
[]
= 25
= 20
= "connections"
[[]]
= true
= ["http"]
= 80
[[]]
= ["tls", "http"]
= 443
[[]]
= "1s"
= "15s"
= 0
= "2s"
主要就是一些常规的服务端口配置等。
我们可以通过 flyctl status
查看服务的状态
通过 flyctl open
可以在浏览器打开网站。
本文是简单的从 0 至 1 部署一个 go web 程序的流程,希望对你们有帮助。