阿里云服务器搭建Golang运行环境
1. 下载安装Golang
下载Golang安装包:
解压之:
tar -zxvf go1.14.2.linux-amd64.tar.gz -C /usr/local/
创建工作目录:
mkdir -p go/src go/bin go/pkg
目录结构如下:
添加Golang相关环境:使用vim编辑以下文件:
vi /etc/profile
添加以下内容:
export GOROOT=/usr/local/go # 设置Golang的安装路径
export GOPATH=$HOME/go # 设置Golang的工作目录路径
export PATH=$PATH:$GOROOT/bin # 添加到系统变量
如下图:
保存退出,并使配置生效:
source /etc/profile
检验Go环境的配置信息及版本号:
go env
go version
结果如下:
2. 使用9090端口编写网页
网页文件要放在Golang工作目录下的src文件夹中:
vi go/src/MyGolang.go
代码如下:
package main
import (
"fmt"
"net/http"
"log"
"database/sql"
_"github.com/go-sql-driver/mysql"
)
func readDB(w http.ResponseWriter, r *http.Request) {
// 连接数据库
// DSN数据源字符串:用户名:密码@协议(地址:端口)/数据库名?参数=参数值
db, err := sql.Open("mysql", "root:root@tcp(localhost:3306)/linux?charset=utf8");
defer db.Close()
if err != nil{
fmt.Println("连接数据库失败!", err)
return
}
rows, err := db.Query("SELECT * FROM linux")
if err != nil {
fmt.Println("查询数据库失败!", err)
return
}
// 遍历结果集
for rows.Next() {
var id string
var name string
err := rows.Scan(&id,&name)
if err != nil {
fmt.Println("读取数据库失败!", err)
return
}
fmt.Fprintf(w, "学号: %s - 姓名: %s", id , name)
}
}
func main() {
http.HandleFunc("/MyGolang.go", readDB) // 设置访问的路由
err := http.ListenAndServe(":9090", nil) // 设置监听的端口为9090
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
数据库、数据表及数据如下:
需要在阿里云服务器上开放9090端口:
切换到工作目录:
cd ~/go/src/
下载Git:
yum –y install git
下载MySQL驱动包:
go get github.com/go-sql-driver/mysql
编译.go文件生成可执行文件:
go build MyGolang.go
运行可执行文件MyGolang,&表示后台运行,不加的话ctrl+c退出当前命令后网页将不能访问:
./MyGolang &
在浏览器访问http://(服务器公网ip):9090/MyGolang.go,结果如下:
至此,Golang环境配置完成!