网络知识
Go语言在Linux服务器上的部署指南
2025-07-07 12:08  点击:2

在Linux服务器上部署Go语言应用程序有多种方法,以下是一个基本的部署指南:

1. 安装Go语言环境

首先,从Go官方网站下载适合Linux系统的Go安装包,例如 go1.18.linux-amd64.tar.gz。然后使用以下命令下载并解压:

wget https://golang.org/dl/go1.18.linux-amd64.tar.gzsudo tar -C /usr/local -xzf go1.18.linux-amd64.tar.gz

接下来,配置环境变量。编辑你的shell配置文件(如 .bashrc.zshrc),添加以下内容:

export PATH=$PATH:/usr/local/go/binexport GOPATH=$HOME/goexport GOROOT=/usr/local/go

保存文件并运行以下命令使更改生效:

source ~/.bashrc

验证安装是否成功,可以输入:

go version

如果输出了Go的版本信息,说明安装成功。

2. 编译Go应用程序

在您的Go应用程序目录中,使用以下命令构建应用程序:

go build

这将生成一个名为 main 的二进制文件,你可以在文件所在的目录中运行它:

./main
3. 部署应用程序后台运行

使用 nohup 命令在后台启动服务:

nohup ./main &
使用systemd服务

为了确保服务在系统重启后自动启动,可以创建一个 systemd 服务文件。例如,创建一个名为 myservice.service 的文件:

[Unit]Description=My Go ServiceAfter=network.target[Service]Type=simpleUser=rootWorkingDirectory=/path/to/your/appExecStart=/path/to/your/app/mainRestart=alwaysRestartSec=5[Install]WantedBy=multi-user.target

将上述文件复制到 /etc/systemd/system/ 目录下,然后执行以下命令启动和启用服务:

sudo systemctl daemon-reloadsudo systemctl start myservicesudo systemctl enable myservicesudo systemctl status myservice
使用Supervisor

Supervisor是一个流行的进程管理工具,可以将一个普通的命令行进程变为后台守护进程,并监控该进程的运行状态。首先使用以下命令安装Supervisor:

sudo apt install supervisor

然后,在 /etc/supervisor/conf.d/ 目录下创建一个配置文件,例如 app.conf

[program:app-name]directory=/path/to/your/appcommand=/path/to/your/app/mainautostart=trueautorestart=truestdout_logfile=/var/log/app/stdout.logstderr_logfile=/var/log/app/stderr.log

重启Supervisor服务:

sudo supervisorctl rereadsudo supervisorctl updatesudo service supervisor restart
4. 配置防火墙

确保你的服务器的防火墙允许流量通过你的服务所使用的端口。例如,使用 ufw 命令开放端口:

sudo ufw allow 8080

通过以上步骤,你应该能够在Linux系统上成功部署并运行你的Go应用程序。