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
推荐使用方法二
这里主要是在没有权限的情况下进行的。就是这两个变量。