Golang应用在Linux系统的部署流程如下:
安装Golang环境
go1.22.0.linux-amd64.tar.gz),解压至/usr/local:wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz && sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz。~/.bashrc中添加export PATH=$PATH:/usr/local/go/bin,执行source ~/.bashrc。go version。编写/获取应用代码
git clone拉取代码至服务器,或直接在服务器编写代码。编译应用
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o myapp main.go。部署运行
./myapp(前台运行,关闭终端即停止)。nohup ./myapp > myapp.log 2>&1 &(需手动管理日志)。/etc/systemd/system/myapp.service:[Unit]
Description=My Go App
After=network.target
[Service]
ExecStart=/path/to/myapp
WorkingDirectory=/path/to/app
User=nobody
Restart=always
[Install]
WantedBy=multi-user.target
```。
sudo systemctl daemon-reload && sudo systemctl start myapp && sudo systemctl enable myapp。可选:配置Nginx反向代理
server {
listen 80;
server_name your_domain;
location / {
proxy_pass http://localhost:8080;
}
}
```。
防火墙设置
ufw allow 8080)。关键说明:
CGO_ENABLED=0)可避免依赖问题,适合无Go环境的服务器。go mod tidy整理依赖,确保代码可移植。