在 CentOS 上运行一个 Golang 项目,通常有以下几种方式,从简单到“生产级”都有。下面按常见流程讲清楚。
cat /etc/centos-release
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
编辑 ~/.bashrc 或 /etc/profile:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
生效:
source ~/.bashrc
验证:
go version
例如:
/root/myproject
cd /root/myproject
go run main.go
或者:
go run .
go build -o app main.go
./app
如果有端口:
./app --port=8080
nohup ./app > app.log 2>&1 &
查看日志:
tail -f app.log
yum install -y screen
screen -S goapp
./app
# Ctrl + A + D 退出
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
systemctl daemon-reload
systemctl start goapp
systemctl enable goapp
systemctl status goapp
journalctl -u goapp -f
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
go env -w GOPROXY=https://goproxy.cn,direct
chmod +x app
如果你愿意,可以告诉我:
我可以直接给你一套适合你项目的完整方案。