以下是Golang在CentOS上的运行配置技巧:
安装Golang
go1.21.0.linux-amd64.tar.gz
),解压至/usr/local
目录:sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
。sudo yum install golang
。配置环境变量
~/.bashrc
或/etc/profile
,添加:export GOROOT=/usr/local/go # 安装路径
export GOPATH=$HOME/go # 工作目录
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
然后执行source ~/.bashrc
使配置生效。go version
,显示版本号即成功。配置国内镜像源
GOPROXY
加速依赖下载(如中科大镜像):export GOPROXY=https://goproxy.cn,direct
,添加到环境变量配置文件中。内存管理
GOGC
(垃圾回收触发阈值,默认100),可降低为75以减少GC频率:export GOGC=75
。sync.Pool
)复用内存,减少分配压力。并发优化
semaphore
)限制并发数。pprof
工具分析性能瓶颈,定位CPU或内存热点:go tool pprof http://localhost:6060/debug/pprof/profile # 启用HTTP服务后分析
```。
代码层面优化
bytes.Buffer
)。map
替代切片查找)。服务化部署
systemd
管理Golang服务,创建服务文件/etc/systemd/system/app.service
:[Unit]
Description=Go Application
After=network.target
[Service]
ExecStart=/path/to/your/app
Restart=always
User=your_user
Environment=PATH=/usr/local/go/bin:$PATH
启用并启动服务:sudo systemctl enable --now app
。日志与监控
./your_app > app.log 2>&1 &
。Prometheus
+Grafana
监控服务指标(如QPS、延迟)。go mod
管理模块,避免手动配置GOPATH
。dlv
(Delve):Go语言调试器,支持断点和单步执行。trace
:生成程序执行跟踪文件,分析并发和调度问题。gcc
(用于编译C依赖的包):sudo yum install gcc
。sudo firewall-cmd --add-port=80/tcp --permanent
。参考来源: