在CentOS系统中编译GoWeb应用,需先安装Go并配置环境变量,然后编写HTTP服务器代码,使用gobuild编译生成可执行文件,运行后可在8080端口访问。可选通过systemd注册为服务,实现后台持续运行与开机自启。
CentOS下Go编译Web应用教程
时间:2026-07-26
浏览:630
文章目录
在CentOS系统下编译一个Go Web应用,实际上并不复杂。只要搭建好环境、编写正确代码、完成编译,后续即可稳定运行。以下按步骤拆解整个流程,每步均附带具体操作和代码示例,可参照执行。

-
安装Go语言环境
如果系统中尚未安装Go,请前往官网(https://golang.org/dl/)下载对应CentOS的安装包,并按照官方文档说明进行安装。注意选择合适版本即可。
-
配置Go环境变量
安装完成后,需让系统识别Go路径。编辑
~/.bashrc或~/.bash_profile,添加以下内容:export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin保存后执行
source ~/.bashrc或source ~/.bash_profile使配置生效。此步骤至关重要,环境变量未配置将导致后续命令无法执行。 -
创建Web应用
使用编辑器新建
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!") }) http.ListenAndServe(":8080", nil) }该代码启动后将在8080端口响应所有请求,返回"Hello, World!"。实际项目不会如此简单,但用于验证编译流程已足够。
-
编译Web应用
打开终端,进入
main.go所在目录,执行:go build main.go编译完成后,当前目录下会生成一个可执行文件——Linux/macOS上名为
main,Windows上名为main.exe。该文件即为编译好的Web应用,可直接部署。 -
运行Web应用
运行可执行文件:
./main此时应用已在8080端口监听,浏览器访问
http://localhost:8080即可看到"Hello, World!"。若在远程服务器上,请检查防火墙是否放行对应端口。 -
(可选)创建一个systemd服务
如需让应用在后台持续运行并随系统启动自动拉起,可使用systemd将其注册为服务。新建
/etc/systemd/system/go-webapp.service文件,填入以下内容:[Unit] Description=Go Web Application [Service] ExecStart=/path/to/your/main Restart=always User=Group= Environment=PATH=/usr/local/go/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin [Install] WantedBy=multi-user.target 注意将
/path/to/your/main替换为实际可执行文件路径,和替换为运行应用的用户和组。保存文件后,依次执行:
sudo systemctl daemon-reload sudo systemctl enable go-webapp.service sudo systemctl start go-webapp.service服务注册完成。系统重启后将自动启动该服务,可使用
sudo systemctl status go-webapp.service随时查看运行状态。
实用工具推荐
绿化、压缩、噪点和虚拟水印,自由调节做旧程度。
选择画质和输出格式,预览压缩前后的大小。