在CentOS上管理Go语言项目涉及多个方面,包括安装Go环境、配置环境变量、使用版本管理工具、编译和运行Go程序、部署应用、配置数据库连接等。以下是详细的步骤和建议:
下载并解压Go安装包:
访问Go语言官方下载页面,选择适合CentOS版本的二进制包进行下载,例如 go1.16.4.linux-amd64.tar.gz
。使用 wget
命令下载并解压到 /usr/local
目录下。
wget https://dl.google.com/go/go1.16.4.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.16.4.linux-amd64.tar.gz
配置环境变量:
编辑 /etc/profile
文件,添加以下内容:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
保存并退出编辑器,然后使配置生效:
source /etc/profile
验证安装:
执行以下命令验证Go语言是否成功安装:
go version
如果显示Go的版本信息,则表示安装成功。
Go 1.11及以上版本引入了Go Modules,这是Go语言的官方依赖管理工具。你可以通过以下命令初始化一个新的Go项目:
mkdir myproject
cd myproject
go mod init myproject
然后在 go.mod
文件中添加所需的依赖。
编译Go程序:
使用 go build
命令对应用程序进行编译。例如,编译一个名为 main.go
的程序:
go build main.go
运行Go程序:
直接运行编译后的可执行文件:
./main
为了系统服务的管理,可以使用systemd将Go程序注册为一个服务,然后实现开机自启动。
编写unit文件:
在 /etc/systemd/system/
目录下,新建一个名为 myapp.service
的服务文件,填入以下内容:
[Unit]
Description=My Go Application
After=syslog.target
[Service]
Type=simple
User=root
WorkingDirectory=/root/myapp
ExecStart=/root/myapp/myapp
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target
加载并启动服务:
执行以下命令加载服务文件并启动服务:
sudo systemctl daemon-reload
sudo systemctl start myapp.service
sudo systemctl status myapp.service
设置开机自启动:
使用 enable
命令设置开机自启动:
sudo systemctl enable myapp.service
安装数据库:
根据选择的数据库,使用相应的包管理器安装数据库服务。例如,对于MySQL:
sudo yum install mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
创建数据库和用户:
使用数据库管理工具创建一个新的数据库和一个用户,并授予该用户访问数据库的权限。
安装数据库驱动:
例如,对于MySQL,可以使用 go-sql-driver/mysql
:
go get -u github.com/go-sql-driver/mysql
编写Go代码:
在Go项目中,编写代码来连接数据库。以下是一个使用MySQL的示例:
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
// 数据库连接字符串 dsn : "username:password@tcp(localhost:3306)/dbname"
// 打开数据库连接 db, err : sql.Open("mysql", dsn)
// if err != nil { panic(err.Error()) }
// defer db.Close()
// 测试数据库连接 err db.Ping()
// if err != nil { panic(err.Error()) }
fmt.Println("成功连接到数据库!")
}
运行Go程序:
在终端中,导航到你的Go项目目录,并运行以下命令来执行程序:
go run main.go