centos8 安装ZeroMQ 使用 gozmq

下载zmq:下载地址

tar -zxvf zeromq-4.1.6.tar.gz

 编译安装:

解释以下,这里是不用libsodium这个库 ,还有下面prefix 是安装的路径 ,注意看一下你要安装在那。

./configure --prefix=/user/local --without-libsodium

 编译:

make

安装:

make install

 现在是使用gozmq阶段,这里只有一个server,复制粘贴,go mod tidy

先来例子:

package main

import (
	"fmt"
	zmq "github.com/pebbe/zmq4"
	"math/rand"
	"time"
)


func main() {
	publisher, err := zmq.NewSocket(zmq.PUB)
	if err != nil {
		fmt.Println("creat publisher error", err)
	}
	defer publisher.Close()
	err = publisher.Bind("tcp://*:5556")
	if err != nil {
		fmt.Println("Bind error ", err)
	}
	go func() {
		for {
			//  Get values that will fool the boss
			zipcode := rand.Intn(100000)
			temperature := rand.Intn(215) - 80
			relhumidity := rand.Intn(50) + 10
			//  Send message to all subscribers
			msg := fmt.Sprintf("%05d %d %d", zipcode, temperature, relhumidity)
			publisher.Send(msg, 0)
		}
	}()
	time.Sleep(30 * time.Second)
}

 运行肯定会失败

因为找不到lib 和 libzmq.pc  ,这里有两种方法,一种是一劳永逸的,把环境变量加进取。

方案一:需要root权限,永久有效
将找到的路径写入ld.so.conf文件中:echo “填入所找到的路径” >> /etc/ld.so.conf
重新加载配置文件:sudo ldconfig

推荐使用方法二

这里主要是在没有权限的情况下进行的。就是这两个变量。

 centos8 安装ZeroMQ 使用 gozmq