之前花了两周完成了一款简单的服务器后台设计和开发,一直在mac上开发和调试,今天要部署到服务器上,简单记录如下:
服务器:
国产芯片 mips64平台
后台采用的c语言和go语言开发
web框架采用的beego和bee工具
跨语言通信用的protobuf
现在聊聊部署。
go环境安装
下载对应的mips平台go源码,执行./all.bash。
编写个测试验证:

Protobuf安装
1,下载protobuf源码protobuf-master.zip,
进入解压目录,运行autogen.sh生成configure文件
2,执行configure文件
./configure
3,make & make install
4,下载c的插件源码protobuf-c-master.zip,
解压,进入解压目录和上述安装步骤类似,如果遇到问题,请百度,一般已有解决办法,如配置pkg的环境变量,动态库加载问题,或者需要一些其它依赖。
5,验证protoc-c
简单编写proto文件,编译生成对应的pb.c和pb.h

6,下载go的插件源码protobuf-master.zip,。
将里面的内容解压到$GOPATH/github.com/golang/protobuf
进入$GOPATH/github.com/golang/protobuf/protoc-gen-go/
执行go build生成protoc-gen-go
将其拷贝到$GOPATH/bin/下
7,验证proto的go插件
将刚才生成的pb.c和pb.h删除,只剩下test.proto,编译protoc --go_out=. test.proto,生成对应的test.pb.go

编译后台
进入后台的代码目录,运行make编译后台程序,后台程序依赖protobuf,编译成功,启动后台。
Beego和bee安装
最开始以为需要在mips平台安装,后来发现go build源码的时候报了很多错,基本都是数据变量没有定义,后来发现bee()源码目录下beego/bee/vendor/golang.org/x/sys/unix/ 只有amd64、386、arm64、arm、freebsd的数据定义,没有mips相关的任何东西,也是一阵迷茫。后来想到go的跨平台编译,于是直接在mac上GOOS=linux GOARCH=mips64le go build main.go直接生成main,将beego(源码路径)项目下的main替换成刚生成的main,然后将整个web项目打包,直接上传到mips服务器,运行./main,打开网页验证,完全没有问题,不得不服这句话 ---- go是互联网时代的c。
至此整个项目部署成功。
评论区
登录后即可参与讨论
立即登录