先挖个洞吧。 今天的文章只是简单地写了如何运行Goland程序。
如今,随着政府国产化要求的日益提高,当前的吴哥窟项目逐渐深入,以前只是要求浏览器、办公计算机、数据库等客户端国产化。 现在,必须把国产化推进到服务器层。
国产服务器一般采用Linux,并且服务器硬件基本上以Arm为主。
公司今年购买了银河麒麟服务。 上面安装了麒麟操作系统
那我们开始吧
一、Hello World计划怎么写才能省下来。 这个可以省略。
我的开发环境是Windows,要编译Arm的程序,一定要进行交叉编译。
执行参数:
CGO _ enabled=0GOOS=linuxgoarch=armgobuildmain.go
将程序直接丢到服务器上,运行主程序。 显示成功
二、自己的程序被服务器掉了,很不幸。 我的程序使用了Oracle客户端驱动程序。 是CGO的库。 不能交叉编译。 只能把源代码落在服务器上进行编译。
安装Goland SDK直接在构件上下载golang https://study golang.com/dl/golang/go1. 16.6.Linux-amd64.tar.gz
置于/usr/local目录中
解压缩后环境变量的设定
加入VI/etc /简档
导出路径=$ path :/usr/local/go/bin source/etc/profile原始配置已启用
运行go version以确定是否成功
最后修改代理地址
go env -w GOPROXY=https://goproxy.cn调试下载Oracle环境arm版本的Oracle客户端
3359 download.Oracle.com/OTN _ software/Linux/instant client/191000/instant client-basic-Linux.arm 64-19.
/usr/local/oracle
解压缩后,设置/etc/profile
导出Oracle _ home=/usr/local/oracleexporttns _ admin=$ Oracle _ home/network/adminexportnls _ lang=americls
source /etc/profile上传并编译代码。 这里手动上传代码
运行go build进行编译时,这里会出现问题。 因为以前oracle驱动程序使用的是oci8,所以这个驱动程序很麻烦。 另外,下载pkg-config,更改为godror,客户端即可
编译成功了,也能跑了
测试数据库连接,发现一个问题,表明找不到/usr/local/Oracle/lib/libclntsh.so
但是,我的目录中没有lib文件夹。 网上有资料。 可以使用软链接。 我直接做文件,再复制一次文件。
另外,执行提示少了的libaio.so库直接安装该库即可。 Apt-get安装libaio *
最后大功告成,可以运行了。
详细的测试还没有进行。 留一个洞。