温馨提示×

centos怎么跑golang项目

小樊
41
2026-10-20 09:01:33
栏目: 编程语言

在 CentOS 上运行一个 Golang 项目,通常有以下几种方式,从简单到“生产级”都有。下面按常见流程讲清楚。


一、准备工作:安装 Go 环境

1. 查看系统版本

cat /etc/centos-release

2. 安装 Go(推荐官方二进制包)

cd /usr/local
wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz

3. 配置环境变量

编辑 ~/.bashrc 或 /etc/profile:

export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

生效:

source ~/.bashrc

验证:

go version

二、运行 Golang 项目(最简单方式)

1. 上传项目代码

例如:

/root/myproject

2. 进入项目目录

cd /root/myproject

3. 直接运行(开发调试)

go run main.go

或者:

go run .

三、编译后运行(推荐)

1. 编译

go build -o app main.go

2. 运行

./app

如果有端口:

./app --port=8080

四、后台运行(常用)

方式 1:nohup

nohup ./app > app.log 2>&1 &

查看日志:

tail -f app.log

方式 2:screen

yum install -y screen
screen -S goapp
./app
# Ctrl + A + D 退出

五、用 systemd 管理(生产推荐)

1. 创建服务文件

vim /etc/systemd/system/goapp.service

内容示例:

[Unit]
Description=Golang App
After=network.target

[Service]
WorkingDirectory=/root/myproject
ExecStart=/root/myproject/app
Restart=always
User=root

[Install]
WantedBy=multi-user.target

2. 启动服务

systemctl daemon-reload
systemctl start goapp
systemctl enable goapp

3. 查看状态

systemctl status goapp
journalctl -u goapp -f

六、常见问题

1. 防火墙端口没开

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

2. 依赖下载慢

go env -w GOPROXY=https://goproxy.cn,direct

3. 编译报错 permission denied

chmod +x app

如果你愿意,可以告诉我:

  • 你是 CentOS 7 还是 8
  • 项目是 Web / 微服务 / CLI
  • 是否要 公网访问 / Docker / Nginx 反向代理

我可以直接给你一套适合你项目的完整方案。

0 踩