需手动安装Go并配置环境变量,因宝塔默认不支持;步骤包括下载解压Go、配置GOROOT/GOPATH/PATH、验证安装、反向代理部署、systemd守护进程管理。

如果您希望在宝塔面板中部署 Go 语言开发运行环境,需手动安装 Go 运行时并配置系统级环境变量,因为宝塔面板默认不集成 Go 支持。以下是具体操作步骤:
一、下载并安装 Go 二进制包
Go 官方提供预编译的 Linux 二进制包,适用于大多数宝塔面板所运行的 CentOS/Ubuntu/Debian 系统,无需编译即可使用。
1、通过 SSH 登录服务器,进入临时目录:cd /tmp
2、根据系统架构下载对应版本的 Go 包(以 Linux x64 为例):wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
立即学习“go语言免费学习笔记(深入)”;
3、解压至 /usr/local 目录:sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
二、配置全局环境变量
为使所有用户及宝塔面板托管的服务(如网站、计划任务)能识别 go 命令,需将 Go 的 bin 目录写入系统 PATH,并设置 GOPATH 和 GOROOT。
1、编辑系统级环境配置文件:sudo nano /etc/profile
2、在文件末尾添加以下三行:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH
3、使配置立即生效:source /etc/profile
三、验证 Go 安装与基础运行环境
确认 Go 可执行文件路径正确、版本匹配且环境变量已加载,是后续部署 Go Web 应用的前提。
1、检查 Go 版本:go version
2、查看 Go 环境配置详情:go env
3、确认 GOROOT 和 GOPATH 输出路径与第二步中设置一致,且 GOBIN 为空(表示使用默认 $GOPATH/bin)
四、在宝塔中创建 Go Web 应用站点
宝塔不原生支持 Go,但可通过反向代理方式将域名流量转发至本地监听的 Go HTTP 服务,实现生产级部署。
1、在网站根目录(如 /www/wwwroot/myapp)中上传或编写 Go Web 程序(例如 main.go),确保监听地址为 127.0.0.1:8080 而非 0.0.0.0
2、使用 nohup 启动服务(示例):nohup /usr/local/go/bin/go run main.go > /www/wwwroot/myapp/app.log 2>&1 &
3、在宝塔【网站】→【添加站点】→【反向代理】中,填写目标 URL:http://127.0.0.1:8080
五、配置守护进程保障长期运行
直接使用 nohup 启动存在进程意外退出后无法自恢复的问题,建议使用 systemd 管理 Go 应用生命周期,确保稳定性。
1、创建 systemd 服务文件:sudo nano /etc/systemd/system/mygoapp.service
2、写入以下内容(按实际路径修改 WorkingDirectory 和 ExecStart):
[Unit]
Description=My Go Application
After=network.target
[Service]
Type=simple
User=www
WorkingDirectory=/www/wwwroot/myapp
ExecStart=/usr/local/go/bin/go run main.go
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
3、启用并启动服务:sudo systemctl daemon-reload && sudo systemctl enable mygoapp && sudo systemctl start mygoapp










