Go 專案
Go 專案用於部署使用 Go 語言開發的後端應用,如 Gin、Echo、Fiber 等框架。
前置要求
- 安裝 Go 執行環境:應用 > 執行環境 > Go
- 編譯好的 Go 可執行檔案或原始碼
部署方式
方式一:部署編譯好的二進位檔案
- 在本地編譯 Go 專案:
bash
# 交叉編譯為 Linux amd64
GOOS=linux GOARCH=amd64 go build -o myapp- 上傳二進位檔案到伺服器
- 建立專案,啟動命令填寫:
./myapp
方式二:在伺服器上編譯
- 上傳原始碼到伺服器
- 在終端機中編譯:
bash
cd /opt/ace/project/myapp
go build -o myapp- 建立專案,啟動命令填寫:
./myapp
建立 Go 專案
- 進入 專案 頁面
- 點擊 建立專案
- 填寫設定:
- 專案名稱:
myapp - 專案目錄:
/opt/ace/project/myapp - 啟動命令:
./myapp或go1.24 run main.go
- 專案名稱:
- 開啟 反向代理 以便外部存取
啟動命令範例
bash
# 執行編譯好的二進位檔案
./myapp
# 使用指定版本的 Go 執行
go1.24 run main.go
# 帶參數執行
./myapp -port 8080 -config ./config.yaml
# 設定環境變數
GIN_MODE=release ./myapp常用框架
Gin
go
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/", func(c *gin.Context) {
c.JSON(200, gin.H{"message": "Hello"})
})
r.Run(":8080")
}啟動命令:GIN_MODE=release ./myapp
Echo
go
package main
import (
"github.com/labstack/echo/v4"
)
func main() {
e := echo.New()
e.GET("/", func(c echo.Context) error {
return c.String(200, "Hello")
})
e.Start(":8080")
}Fiber
go
package main
import "github.com/gofiber/fiber/v2"
func main() {
app := fiber.New()
app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Hello")
})
app.Listen(":8080")
}注意事項
- 確保二進位檔案有執行權限:
chmod +x myapp - 生產環境建議使用編譯好的二進位檔案,而非
go run - 建議使用環境變數或設定檔管理設定,避免寫死在程式碼中
