Linux服务器Golang环境搭建指南
Linux服务器Golang环境搭建指南 这些信息并非专门针对Go语言,但在为你的Go应用程序设置云服务器时应该会有所帮助。我已经多次经历这个过程,并希望有一套全面的说明。我还没有找到一个循序渐进的指南。它专门针对DigitalOcean,但大多数步骤应该适用于其他云托管公司。
2 回复
这个链接似乎完全不适用于Go,它只涉及基本的Linux术语。
对于想在Linux上托管Go应用的新手来说,这个链接更有用。
更多关于Linux服务器Golang环境搭建指南的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
以下是在Linux服务器上搭建Golang环境的专业步骤,适用于大多数云服务器环境(如DigitalOcean、AWS、阿里云等):
1. 更新系统并安装基础工具
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git build-essential
2. 下载并安装Go
# 下载最新稳定版Go(请访问官网获取最新版本号)
GO_VERSION="1.21.0"
wget https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz
# 解压到/usr/local目录
sudo tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz
# 清理安装包
rm go${GO_VERSION}.linux-amd64.tar.gz
3. 配置环境变量
# 编辑bash配置文件
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
echo 'export GOPATH=$HOME/go' >> ~/.bashrc
echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.bashrc
# 立即生效
source ~/.bashrc
4. 验证安装
# 检查Go版本
go version
# 测试环境配置
go env
5. 创建工作目录结构
# 创建标准Go工作目录
mkdir -p ~/go/{src,bin,pkg}
# 测试简单的Go程序
cat > ~/go/src/hello/hello.go << 'EOF'
package main
import "fmt"
func main() {
fmt.Println("Go环境安装成功!")
}
EOF
# 编译并运行
cd ~/go/src/hello
go run hello.go
6. 配置Go模块代理(加速下载)
# 设置国内镜像(如在中国大陆)
go env -w GOPROXY=https://goproxy.cn,direct
# 或使用官方代理
go env -w GOPROXY=https://proxy.golang.org,direct
7. 安装常用开发工具
# 安装代码格式化工具
go install golang.org/x/tools/cmd/goimports@latest
# 安装静态分析工具
go install honnef.co/go/tools/cmd/staticcheck@latest
# 安装热重载工具(用于开发)
go install github.com/cosmtrek/air@latest
8. 创建系统服务示例(部署Go应用)
# 创建示例应用
cat > /etc/systemd/system/golang-app.service << 'EOF'
[Unit]
Description=Go Application Service
After=network.target
[Service]
Type=simple
User=www-data
WorkingDirectory=/var/www/go-app
ExecStart=/var/www/go-app/main
Restart=always
[Install]
WantedBy=multi-user.target
EOF
9. 防火墙配置(如需)
# 开放Go应用常用端口
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw allow 8080/tcp # Go调试端口
sudo ufw enable
10. 验证完整环境
# 创建测试模块
mkdir -p /tmp/test-app && cd /tmp/test-app
go mod init test-app
# 编写测试文件
cat > main.go << 'EOF'
package main
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Go服务器运行正常!")
}
func main() {
http.HandleFunc("/", handler)
fmt.Println("服务器启动在 :8080")
http.ListenAndServe(":8080", nil)
}
EOF
# 运行测试服务器
go run main.go &
curl http://localhost:8080
这个配置提供了完整的Go开发和生产环境,包括版本管理、依赖代理、开发工具和部署配置。

