当前位置:首页>Linux>Linux 部署ZeroMQ和基础命令

Linux 部署ZeroMQ和基础命令

  • 2026-10-21 13:29:13
Linux 部署ZeroMQ和基础命令

1. 安装 ZeroMQ

Ubuntu/Debian

# 安装 libzmq 库
sudo apt update
sudo apt install libzmq3-dev

# Python 绑定(可选)
pip install pyzmq

# C++ 绑定(可选)
sudo apt install libzmqpp-dev

CentOS/RHEL/Fedora

# CentOS/RHEL
sudo yum install zeromq-devel

# Fedora
sudo dnf install zeromq-devel

# 源码编译安装(通用方法)
wget https://github.com/zeromq/libzmq/releases/download/v4.3.4/zeromq-4.3.4.tar.gz
tar -xzf zeromq-4.3.4.tar.gz
cd zeromq-4.3.4
./configure
make
sudomake install
sudo ldconfig

2. 验证安装

# 检查库版本
pkg-config --modversion libzmq

# 或者使用 zmq 命令(如果安装时包含工具)
zmq_version

# Python 验证
python3 -c"import zmq; print(f'ZeroMQ {zmq.zmq_version()}')"

3. 常用 ZeroMQ 工具命令

zmq_tcp_echo(如果安装了 zeromq-tools)

# 启动 echo 服务器
zmq_tcp_echo server tcp://*:5555

# 客户端连接
zmq_tcp_echo client tcp://localhost:5555

perf 测试工具

# 启动延迟测试服务器
zmq_remote_lat tcp://*:5555

# 启动吞吐量测试服务器
zmq_local_thr tcp://*:5555 1000000

4. ZeroMQ 基础编程示例

Python 示例 - REQ/REP 模式

server.py:

import zmq

context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind("tcp://*:5555")

while True:
    message = socket.recv_string()
    print(f"Received: {message}")
    socket.send_string(f"Echo: {message}")

client.py:

import zmq

context = zmq.Context()
socket = context.socket(zmq.REQ)
socket.connect("tcp://localhost:5555")

socket.send_string("Hello ZeroMQ")
response = socket.recv_string()
print(f"Response: {response}")

5. 网络诊断命令

# 查看 ZeroMQ 监听端口
netstat -tlnp | grep zmq
# 或使用 ss 命令
ss -tlnp | grep zmq

# 测试连接
telnet localhost 5555
# 或使用 nc
nc-zv localhost 5555

6. Docker 部署

# 使用官方镜像
docker run -it-p5555:5555 zeromq/zeromq

# 或使用 Dockerfile
FROM ubuntu:20.04
RUN apt update && apt install -y libzmq3-dev

7. 系统配置优化

# 查看系统限制
ulimit -n# 文件描述符限制

# 临时增加限制(针对当前会话)
ulimit -n65536

# 永久修改(编辑 /etc/security/limits.conf)
echo"* soft nofile 65536" >> /etc/security/limits.conf
echo"* hard nofile 65536" >> /etc/security/limits.conf

8. 性能监控

# 使用 netstat 监控连接
watch -n1'netstat -an | grep :5555'

# 使用 ss 命令(更高效)
watch -n1'ss -tlnp | grep 5555'

9. 常用端口和模式

端口用途模式
5555开发测试REQ/REP, PUB/SUB
5556开发测试PUSH/PULL
5560代理端口XREP/XREQ
5570集群通信ROUTER/DEALER

10. 故障排查

# 检查库路径
ldconfig -p | grep zmq

# 检查动态链接库
ldd /path/to/your/zmq/program

# 查看 ZeroMQ 错误日志
journalctl -u your-service-name | grep-i zmq

# 调试模式运行(Python)
ZMQ_DEBUG=1 python3 server.py

11. 卸载 ZeroMQ

# Ubuntu/Debian
sudo apt remove --purge libzmq3-dev

# 源码安装卸载
cd zeromq-4.3.4
sudomake uninstall

# 清理 Python 包
pip uninstall pyzmq

最新文章

随机文章