商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Golang编译Ubuntu服务端程序步骤

Golang编译Ubuntu服务端程序步骤

  发布于2026-07-16 阅读(0)

扫一扫,手机访问

在 Ubuntu 上折腾 Go 服务端程序?这事儿其实没那么复杂,几步就能搞定。接下来咱们把整个过程拆开揉碎,看看每一步到底该怎么做。 Golang编译Ubuntu服务端程序步骤 ### 第一步:装好 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 的可执行文件),那就是另一个话题了。
本文转载于:https://www.yisu.com/ask/47917882.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注