1.安装go
在golang官网,找到软件的下载地址,并安装
#查看当前ubuntu版本是否支持64位
cat /proc/version
#下载目标文件
wget https://golang.org/dl/go1.16.4.linux-amd64.tar.gz
#解压
tar -xf go1.16.4.linux-amd64.tar.gz
#修改所有者
sudo chown -R ubuntu ./go
#安装解压文件到执行目录
sudo mv -v go /usr/local
修改Golang的环境变量
#创建gopath目录
cd ~
mkdir gopath
sudo vi ~/.bashrc
#如果是全局生效,则目标文件为 /etc/bash.bashrc
##末尾添加如下
export GOPATH=$HOME/gopath
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
## 按Esc,再输入命令 :wq ,保存退出,:q! ,不保存退出
export GOPROXY=https://mirrors.aliyun.com/goproxy/
#代理方式,go get更快
#安装gprc
go get google.golang.org/grpc
go get -u github.com/golang/protobuf/protoc-gen-go
#更新脚本
source ~/.bashrc
#查看是否顺利安装
go version
2.开始安装Go-Micro
#安装protoc 可执行文件
sudo apt update
sudo apt install -y protobuf-compiler
go get -u github.com/golang/protobuf/protoc-gen-go
go get github.com/micro/micro/v3/cmd/protoc-gen-micro
#如果提示sum dismatch:
# cd /home/gopath/pkg/mod/github.com/micro/protoc-gen-micro@v1.0.0
# go mod tidy
#安装OS主模块
go get github.com/micro/micro/v3
#如果提示sum dismatch:
# cd gopath/pkg/mod/github.com/micro/micro/v3
# sudo root
# go mod tidy
# go install .
#或者不通过Go get,直接wget装二进制文件:
wget -q https://raw.githubusercontent.com/micro/micro/master/scripts/install.sh -O - | /bin/bash
vi ~/.bashrc#把 /home/ubuntu/bin添加到环境变量
#vi etc/bash.bashrc 添加到系统全局变量
#下载示例
go get github.com/micro/services
3.安装vs code远程调试工具 remote ssh remote development,在user/*/.ssh目录下,创建config和pem秘钥文件。 之前可用 ssh -i c:/123.pen ubuntu@x.x.x.x 登录确认网络正常
Host aws
HostName 54.218.*.*
User ubuntu
IdentityFile C:\Users\*\.ssh\aws.pem
4.在go_project目录下,创建my项目
micro new my
#确保protobuf 工具已经安装
go get -u github.com/golang/protobuf/proto
go get -u github.com/golang/protobuf/protoc-gen-go
go get github.com/micro/micro/v3/cmd/protoc-gen-micro@master
#安装make工具
sudo apt-get update
sudo apt-get install build-essential
#到项目文件夹下
cd my
make proto
5.测试微服务
#启动服务
#0 1 2代表输入-输出-错误,>左边默认为1
#nohup 代表no hang up,即便shell退出也不终止,否则可以不加
nohup micro server >/dev/null 2>&1 &
#登录服务admin/micro
mocro login
#start
micro run .
#call
micro my --name=Jane
#call
curl "http://localhost:8080/my?name=John"
#更新go代码,重启微服务,相比micro kill my在run更加快速
micro update .
更多详细用法:https://micro.mu/reference