发布于2026-07-14 阅读(0)
扫一扫,手机访问
在Debian系统上部署Golang服务,其实比想象中要直截了当——只要把几个关键步骤走通,后面就是重复利用的流程了。下面直接进入正题,从环境准备到自启动配置,一步步拆解。

不用绕弯子,先确认你的Debian里有没有装Go。如果还没装,两条命令搞定:
sudo apt update
sudo apt install golang-go
装完之后,记得验证一下——很基础但容易忘的一步:
go version
看到版本号输出,说明环境就绪了。
找个顺手的目录,新建一个项目文件夹,然后进去:
mkdir my-golang-service
cd my-golang-service
接着初始化Go模块,这一步能让后续依赖管理清晰很多:
go mod init my-golang-service
模块名可以自定义,但建议和服务名保持一致,方便识别。
在项目目录下创建main.go,写一个最简HTTP服务作为示例。当然,实际业务代码你可以替换成自己的逻辑:
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, World!")
})
fmt.Println("Starting server at port 8080")
if err := http.ListenAndServe(":8080", nil); err != nil {
fmt.Println(err)
}
}
这段代码启动一个监听8080端口的HTTP服务,访问根路径返回“Hello, World!”。
写完之后,编译生成可执行文件。直接在项目目录下运行:
go build -o my-golang-service
注意-o参数指定输出文件名,不指定的话默认是当前目录名(Windows下会是.exe)。编译完成后,你会看到一个二进制文件躺在当前目录里。
把编译好的二进制文件传到你的Debian服务器上。最常用的方式是用scp:
scp my-golang-service user@your-server-ip:/path/to/deploy
这里把user、your-server-ip和/path/to/deploy替换成你自己的信息。当然,你也可以用rsync、ftp或者直接挂载目录复制,怎么顺手怎么来。
登录到服务器,进入部署目录,直接执行那个二进制文件:
cd /path/to/deploy
./my-golang-service
如果一切正常,控制台会输出“Starting server at port 8080”。这时在浏览器里访问http://你的服务器IP:8080,就能看到响应了。
手动启动的服务,一旦服务器重启就会丢失。想让服务随系统启动,推荐用systemd来管理。
先创建一个service文件:
sudo nano /etc/systemd/system/my-golang-service.service
写入以下内容(注意替换路径和用户信息):
[Unit]
Description=My Golang Service
After=network.target
[Service]
ExecStart=/path/to/deploy/my-golang-service
Restart=always
User=your-user
Group=your-group
Environment=PATH=/usr/local/go/bin
[Install]
WantedBy=multi-user.target
保存退出后,依次执行:
sudo systemctl daemon-reload
sudo systemctl enable my-golang-service
sudo systemctl start my-golang-service
到这里,服务就已经注册为系统服务,即使服务器重启也会自动启动。如果想验证状态,可以用sudo systemctl status my-golang-service查看。
整个流程走下来,你会发现Debian上部署Go服务其实没什么特殊门槛——无非就是装环境、写代码、编译、传文件、启动,最后用systemd锁住。把这套流程固化下来,以后每次部署新服务都能复用。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8