Golang编译Ubuntu服务端程序步骤
作者:ClearCorner
时间:2026-07-16
浏览:0
在Ubuntu上编译Go服务端程序需安装Go环境,创建项目目录并编写HTTP服务器代码,用gobuild编译生成静态二进制文件后直接运行。还可通过systemd配置为系统服务实现后台自启。
本文目录
在 Ubuntu 上折腾 Go 服务端程序?这事儿其实没那么复杂,几步就能搞定。接下来咱们把整个过程拆开揉碎,看看每一步到底该怎么做。
### 第一步:装好 Go 环境
要是机器上还没装 Go,那得先补上。打开终端,敲下面两行命令:
```bash
sudo apt update
sudo apt install golang-go
```
装完之后验证一下:
```bash
go version
```
能看到版本号出来,说明安装成功。这一步没什么坑,就是常规的包管理安装。
### 第二步:搭个工作目录
Go 的工程习惯是在 `~/go/src` 下建项目。咱们创建一个给服务器程序用的文件夹:
```bash
mkdir ~/go/src/myserver
cd ~/go/src/myserver
```
接下来的所有操作都在这个目录里完成。
### 第三步:动手写代码
用你顺手的编辑器(vim、VS Code 都行)新建一个 `main.go` 文件。比如先写一个最简单的 HTTP 服务器,让它在 8080 端口上回应一句“Hello, Ubuntu!”:
```go
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, Ubuntu!")
})
fmt.Println("Starting server at port 8080")
if err := http.ListenAndServe(":8080", nil); err != nil {
fmt.Println(err)
}
}
```
这段代码足够轻量,但已经能让你看到 Go 在服务端开发上的简洁。
### 第四步:编译生成可执行文件
在项目目录下运行:
```bash
go build -o myserver
```
这个命令会在当前目录生成一个叫 `myserver` 的二进制文件。注意,Go 是静态编译,所以你不需要担心目标机器上有没有安装 Go 运行时——直接拷过去就能跑。
### 第五步:试试手,跑起来
编译完,直接执行:
```bash
./myserver
```
终端会输出 “Starting server at port 8080”,然后打开浏览器访问 `http://localhost:8080`,会看到 “Hello, Ubuntu!”。恭喜,你的 Go 服务已经跑通了。
### 第六步:把它变成系统服务(可选)
如果想让这个服务在后台自动运行,甚至开机自启,那可以借助 systemd 来管理。
创建一个服务文件 `/etc/systemd/system/myserver.service`,内容如下:
```ini
[Unit]
Description=My Go Server
After=network.target
[Service]
ExecStart=/home/yourusername/go/src/myserver/myserver
Restart=always
User=yourusername
Group=yourusername
Environment=PATH=/usr/local/go/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
[Install]
WantedBy=multi-user.target
```
**注意**:把 `yourusername` 换成你实际的用户名,并且确保 `ExecStart` 指向的路径跟你的可执行文件位置一致。
然后启用并启动服务:
```bash
sudo systemctl enable myserver
sudo systemctl start myserver
```
检查一下状态:
```bash
sudo systemctl status myserver
```
如果显示 active (running),那就成了。之后无论是重启机器还是意外设掉,systemd 都会帮你自动拉起服务。
---
整个流程走下来,你会发现 Go 在 Ubuntu 上编译服务端程序非常直接——没有复杂的依赖管理,没有环境变量折腾,装好 Go、写代码、编译、运行,完事。要是想进一步优化,还可以考虑交叉编译(比如在 Ubuntu 上编译出 Windows 或 macOS 的可执行文件),那就是另一个话题了。
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
### 第一步:装好 Go 环境
要是机器上还没装 Go,那得先补上。打开终端,敲下面两行命令:
```bash
sudo apt update
sudo apt install golang-go
```
装完之后验证一下:
```bash
go version
```
能看到版本号出来,说明安装成功。这一步没什么坑,就是常规的包管理安装。
### 第二步:搭个工作目录
Go 的工程习惯是在 `~/go/src` 下建项目。咱们创建一个给服务器程序用的文件夹:
```bash
mkdir ~/go/src/myserver
cd ~/go/src/myserver
```
接下来的所有操作都在这个目录里完成。
### 第三步:动手写代码
用你顺手的编辑器(vim、VS Code 都行)新建一个 `main.go` 文件。比如先写一个最简单的 HTTP 服务器,让它在 8080 端口上回应一句“Hello, Ubuntu!”:
```go
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, Ubuntu!")
})
fmt.Println("Starting server at port 8080")
if err := http.ListenAndServe(":8080", nil); err != nil {
fmt.Println(err)
}
}
```
这段代码足够轻量,但已经能让你看到 Go 在服务端开发上的简洁。
### 第四步:编译生成可执行文件
在项目目录下运行:
```bash
go build -o myserver
```
这个命令会在当前目录生成一个叫 `myserver` 的二进制文件。注意,Go 是静态编译,所以你不需要担心目标机器上有没有安装 Go 运行时——直接拷过去就能跑。
### 第五步:试试手,跑起来
编译完,直接执行:
```bash
./myserver
```
终端会输出 “Starting server at port 8080”,然后打开浏览器访问 `http://localhost:8080`,会看到 “Hello, Ubuntu!”。恭喜,你的 Go 服务已经跑通了。
### 第六步:把它变成系统服务(可选)
如果想让这个服务在后台自动运行,甚至开机自启,那可以借助 systemd 来管理。
创建一个服务文件 `/etc/systemd/system/myserver.service`,内容如下:
```ini
[Unit]
Description=My Go Server
After=network.target
[Service]
ExecStart=/home/yourusername/go/src/myserver/myserver
Restart=always
User=yourusername
Group=yourusername
Environment=PATH=/usr/local/go/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
[Install]
WantedBy=multi-user.target
```
**注意**:把 `yourusername` 换成你实际的用户名,并且确保 `ExecStart` 指向的路径跟你的可执行文件位置一致。
然后启用并启动服务:
```bash
sudo systemctl enable myserver
sudo systemctl start myserver
```
检查一下状态:
```bash
sudo systemctl status myserver
```
如果显示 active (running),那就成了。之后无论是重启机器还是意外设掉,systemd 都会帮你自动拉起服务。
---
整个流程走下来,你会发现 Go 在 Ubuntu 上编译服务端程序非常直接——没有复杂的依赖管理,没有环境变量折腾,装好 Go、写代码、编译、运行,完事。要是想进一步优化,还可以考虑交叉编译(比如在 Ubuntu 上编译出 Windows 或 macOS 的可执行文件),那就是另一个话题了。
作者最新文章
python 绿色版:概念解析、环境隔离与验证流程
2026-09-05 07:27
书香门第在线阅读入口 书香门第txt全本小说网
2026-09-03 17:28
多张图片转PDF教程:在线批量合成与顺序调整技巧
2026-09-03 10:03
AutoCAD 2014安装指南:环境检查、授权配置与首次启动设置
2026-09-02 13:34
watchstore下载软件教程:设备兼容、安装流程与常见故障
2026-09-02 13:24
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































