linux

Go语言在Linux服务器上的部署指南

小樊
45
2025-07-07 10:46:47
栏目: 云计算

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

1. 安装Go语言环境

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

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

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

export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export 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 Service
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/path/to/your/app
ExecStart=/path/to/your/app/main
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

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

sudo systemctl daemon-reload
sudo systemctl start myservice
sudo systemctl enable myservice
sudo systemctl status myservice

使用Supervisor

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

sudo apt install supervisor

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

[program:app-name]
directory=/path/to/your/app
command=/path/to/your/app/main
autostart=true
autorestart=true
stdout_logfile=/var/log/app/stdout.log
stderr_logfile=/var/log/app/stderr.log

重启Supervisor服务:

sudo supervisorctl reread
sudo supervisorctl update
sudo service supervisor restart

4. 配置防火墙

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

sudo ufw allow 8080

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

0
看了该问题的人还看了