Go项目中使用ZMQ(zeroMq)的方法以及部署方法

最近写的一个项目,用了一个神奇的玩意儿,zeroMq.本来go使用第三方库只需要go get -u "xxx" ,一下就好了,但这个不行.go语言中拉完三方库后,需要有一个gcc的环境才能将项目正常启动.

go get -u "github.com/pebbe/zmq4"

1.使用方法

        上面的安装好zmq的三方库之后,需要在windows电脑上搭建一个gcc的环境.

         安装mingw 地址 , 根据你自己电脑是32位还是64位选择.

        

       安装完成之后,配置环境变量

        找到安装目录中的这个文件,路径配置到Path中即可.

        myscs2启动

在cmd窗口中输入 minw64.exe (具体是64还是32看你自己安装目录中的应用程序)

        go启动

找到写go代码的软件(记事本当我没说),如:goland , 将goland的应用程序路径复制下来,粘贴到下面,然后回车启动.这样项目才能正常运行

2.部署(linux版)方法

        部署到windows系统的服务器,操作和上面的使用方法相同

这里用debain发行版的linux服务器介绍 (docker 容器部署)

        前置流程大致相同,在项目和main.go同级的目录下编写Dockerfile

我使用的是debian:buster的基底镜像

FROM debian:buster

ENV MYPATH #你的工作目录
WORKDIR $MYPATH

RUN apt-get -y update \
    && apt-get -y install --no-install-recommends apt-utils \
    && apt-get -y install vim \
    && apt-get -y install pkg-config libzmq3-dev \
    && apt-get -y install git \
    && apt-get -y install gcc g++ \
    && apt-get -y install wget \
    && wget -q -O /root/go1.22.2.linux-amd64.tar.gz https://dl.google.com/go/go1.22.2.linux-amd64.tar.gz \
    && tar -C /usr/local -xzf /root/go1.22.2.linux-amd64.tar.gz \
    && echo 'export PATH=$PATH:/usr/local/go/bin' >> /etc/profile \
    && . /etc/profile \
    && go version \
    && echo "export PATH=$PATH:/usr/local/go/bin" >> /root/.bashrc \
    && go env -w GOPROXY=https://goproxy.cn,direct \
    && go env -w GO111MODULE=on

注意下面的地方

 一定要安装 pkg-config 和 libzmq3-dev这两个包

  • pkg-config : 提供了一种简洁,一致的方式来获取库的编译以及链接信息
  • libzmq3-dev: debain发行版linux服务器的zmq包

gcc的环境就不在说了,更加需要的.

剩下的就是执行Dockerfile构建容器 , 然后docker exec -it 容器id /bin/bash 进入容器.

进入容器之后,就和部署普通的go项目一样了.go build -o main , 然后nohup ... 启动二进制文件就好了.

2.1 踩坑日记

        构建镜像的时候,不仅仅要将项目启动端口暴露出去,你启动的zeromq中的端口也需要暴露.

serverSocket.Bind(initialization.Config.Zmq.Point)

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值