温馨提示×

如何在debian部署golang

小樊
45
2026-09-17 10:11:49
栏目: 编程语言

在 Debian 上部署(安装并运行)Go(Golang)环境,通常有以下几种方式。下面从最推荐的方式其他方式逐步说明。


一、推荐方式:官方二进制包安装(最新稳定版)

这是最常用、最干净的方式,不依赖 apt 的旧版本。

1. 下载 Go 官方包

先查看最新版本:https://go.dev/dl/

例如(以 amd64 为例):

cd /tmp
wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz

2. 解压到 /usr/local

sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz

3. 配置环境变量

编辑用户环境变量(推荐):

nano ~/.bashrc

在文件末尾添加:

export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

使配置生效:

source ~/.bashrc

4. 验证安装

go version

输出类似:

go version go1.22.5 linux/amd64

二、使用 Debian apt 安装(简单但不一定最新)

适合对版本要求不高的场景。

sudo apt update
sudo apt install golang-go

查看版本:

go version

⚠️ Debian 仓库中的 Go 版本通常较旧。


三、部署一个 Golang 项目(示例)

1. 初始化项目

mkdir hello && cd hello
go mod init hello

2. 编写代码

nano main.go
package main

import "fmt"

func main() {
    fmt.Println("Hello, Debian!")
}

3. 运行

go run main.go

4. 编译为可执行文件

go build -o app
./app

四、作为服务运行(systemd)

如果你要长期运行 Go 程序:

sudo nano /etc/systemd/system/goapp.service

内容示例:

[Unit]
Description=Go App
After=network.target

[Service]
ExecStart=/path/to/your/app
WorkingDirectory=/path/to/your
User=www-data
Restart=always

[Install]
WantedBy=multi-user.target

启用并启动:

sudo systemctl daemon-reload
sudo systemctl enable goapp
sudo systemctl start goapp

五、常见问题

1. 权限问题

确保编译后的文件有执行权限:

chmod +x app

2. 防火墙

如果是 Web 服务:

sudo ufw allow 8080

3. 交叉编译(在 Debian 上编译其他平台)

GOOS=windows GOARCH=amd64 go build

如果你愿意,可以告诉我:

  • Debian 版本(如 11 / 12)
  • 用途(开发 / 生产 / Web 服务)
  • 是否使用 Docker

我可以直接给你一套完整部署方案

0