温馨提示×

Linux系统如何部署Golang应用

小樊
71
2025-04-29 16:15:44
栏目: 编程语言

在Linux系统上部署Golang应用可以分为几个步骤。以下是一个基本的指南:

1. 安装Golang

首先,确保你的Linux系统上已经安装了Golang。如果没有安装,可以通过以下命令进行安装:

# 下载并安装Golang wget https://golang.org/dl/go1.20.4.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.20.4.linux-amd64.tar.gz 

然后,设置环境变量:

echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc source ~/.bashrc 

验证安装:

go version 

2. 编写Golang应用

创建一个新的Golang应用目录,并编写你的应用代码。例如:

mkdir myapp cd myapp nano main.go 

main.go文件中编写你的应用代码:

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) } 

3. 构建Golang应用

在应用目录中构建你的应用:

go build -o myapp 

这将会生成一个名为myapp的可执行文件。

4. 配置Nginx作为反向代理

安装Nginx:

sudo apt update sudo apt install nginx 

配置Nginx以反向代理到你的Golang应用:

sudo nano /etc/nginx/sites-available/myapp 

添加以下内容:

server { listen 80; server_name your_domain_or_ip; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } 

启用配置:

sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled sudo nginx -t sudo systemctl restart nginx 

5. 运行Golang应用

你可以手动运行你的应用:

./myapp 

或者使用systemd来管理你的应用:

创建一个systemd服务文件:

sudo nano /etc/systemd/system/myapp.service 

添加以下内容:

[Unit] Description=My Golang Application After=network.target [Service] ExecStart=/path/to/your/myapp Restart=always User=your_user Group=your_group Environment=PATH=/usr/local/go/bin [Install] WantedBy=multi-user.target 

启动并启用服务:

sudo systemctl start myapp sudo systemctl enable myapp 

6. 验证部署

打开浏览器并访问你的域名或IP地址,你应该能看到你的Golang应用正在运行。

通过以上步骤,你就可以在Linux系统上成功部署一个Golang应用了。

0