在Linux系统中部署Golang应用程序通常涉及以下几个步骤:
1. 安装Golang环境
-
下载并解压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是否安装成功:
go version如果输出了Go的版本信息,说明安装成功。
2. 编写Golang应用程序
创建一个新的Golang应用目录,并编写你的应用代码。例如:
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. 部署Golang应用程序
直接运行可执行文件
最简单的方式是直接运行可执行文件:
./myapp
该命令会启动Golang应用程序,并在本地8080端口启动HTTP服务。
使用systemd进行管理
为了使应用程序在后台运行并在崩溃时自动重启,可以创建一个 systemd 服务文件。例如,创建一个名为 myapp.service 的文件:
[Unit]
Description=My Golang App
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/path/to/your/app
ExecStart=/path/to/your/app/myapp
Restart=always
[Install]
WantedBy=multi-user.target
将该文件复制到 /etc/systemd/system/ 目录下,并使用以下命令启动和启用服务:
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp
使用 systemctl status myapp 命令检查服务状态。
配置防火墙
确保你的服务器的防火墙允许流量通过你的服务所使用的端口。例如,使用 ufw 命令开放端口:
sudo ufw allow 8080
5. 使用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
6. 监控与维护
定期查看程序日志和性能状态,确保系统稳定运行。例如,使用 journalctl 查看systemd服务日志:
sudo journalctl -u myapp
通过以上步骤,你应该能够在Linux系统上成功部署并运行你的Go应用程序。
以上就是关于“Linux系统中Golang如何部署应用”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm