温馨提示×

debian下golang如何启动

小樊
49
2026-09-17 10:16:43
栏目: 编程语言

在 Debian 下启动(运行)Golang 程序,一般有以下几种常见方式,从“最简单”到“作为服务运行”都给你说明。


一、最基础:直接运行 Go 程序

1️⃣ 已有 Go 源码

cd /path/to/your/project
go run main.go

如果是多个文件:

go run .

2️⃣ 先编译再运行(推荐生产环境)

go build -o myapp main.go
./myapp

编译成无调试信息的更小二进制(可选):

go build -ldflags="-s -w" -o myapp

二、后台运行(临时)

使用 &

./myapp &

查看进程:

ps aux | grep myapp

退出终端后可能停止,不推荐长期使用。


使用 nohup

nohup ./myapp > app.log 2>&1 &

三、作为系统服务(推荐 Debian 生产环境)

使用 systemd(Debian 8+ 默认)

1️⃣ 编译程序

go build -o /opt/myapp/myapp

2️⃣ 创建 service 文件

sudo vim /etc/systemd/system/myapp.service

示例内容:

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

[Service]
ExecStart=/opt/myapp/myapp
WorkingDirectory=/opt/myapp
User=www-data
Restart=always
Environment=GO_ENV=production

[Install]
WantedBy=multi-user.target

3️⃣ 启动服务

sudo systemctl daemon-reexec
sudo systemctl enable myapp
sudo systemctl start myapp

4️⃣ 查看状态

systemctl status myapp
journalctl -u myapp -f

四、Debian 安装 Go(如果还没装)

方式 1:APT(版本可能旧)

sudo apt update
sudo apt install golang-go
go version

方式 2:官方二进制(推荐)

wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz

加到 PATH:

echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc

五、简单总结

场景 推荐方式
开发调试 go run
临时运行 nohup ./app &
生产环境 systemd 服务
多服务管理 systemd + nginx

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

  • 是 开发环境还是服务器
  • 是否要 开机自启
  • 是否 配合 Nginx / 域名

我可以直接给你一份完整配置。

0 踩