rabbitmq
1.安装 rabbitmq 服务
1.1 本地源安装
# 安装 openssl 依赖
sudo apt-get install libssl-dev
# 添加源
echo 'deb http://www.rabbitmq.com/debian/ testing main' |
sudo tee /etc/apt/sources.list.d/rabbitmq.list
# 更新源
sudo apt-get update
# 安装 rabbitmq-server
sudo apt-get install rabbitmq-server
# 如安装失败,添加公钥到信任列表
wget http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
1.2 使用 docker
# 查询镜像文件
docker search rabbitmq
# 拉取镜像文件
docker pull rabbitmq:3.7-management
# 启动
docker run -it -d --hostname my-rabbit --name rabbit \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
-p 15672:15672 \
-p 5672:5672 \
rabbitmq:3.7-management
- RABBITMQ_DEFAULT_USER:账号
- RABBITMQ_DEFAULT_PASS:密码
- 如果 RABBITMQ_DEFAULT_USER 和 RABBITMQ_DEFAULT_PASS 没填写,默认用户 guest 密码 guest
- 15672:控制台端口
- 5672: AMQP端口
2. c++ 中使用 rabbitmq
2.1 rabbitmq-c 安装
2.1.1 安装依赖库
-
glib2.0
apt-get install openssl libssl-dev libglib2.0-dev
-
gflags
cmake -DCMAKE_CXX_FLAGS=-fPIC -DBUILD_SHARED_LIBS=ON .. make -j4 make install
-
glog
./autogen.sh ./configure CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" make -j4 make install
-
可选项
# ev、eu、libevent 等事件循环的支持 sudo apt install libev-dev sudo apt install libuv1-dev sudo apt install libevent1-dev sudo apt-get install libevent-dev
2.1.2. 安装 rabbitmq-c
```bash
git clone https://github.com/alanxz/rabbitmq-c
cd rabbitmq-c
git clone https://github.com/rabbitmq/rabbitmq-codegen.git
mv rabbitmq-codegen codegen # 重命名为 codegen
mkdir build
cd build
cmake -DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=ON \
-DBUILD_STATIC_LIBS=ON -DBUILD_TESTS=OFF ..
make
# 默认安装位置移动至 /usr/local
mv /usr/local/lib/x86_64-linux-gnu/pkgconfig/librabbitmq.pc \
/usr/local/lib/pkgconfig/librabbitmq.pc
mv /usr/local/lib/x86_64-linux-gnu/librabbitmq.* /usr/local/lib/
# rm -rf /usr/local/lib/x86_64-linux-gnu
```
2.2 SimpleAmqpClient 安装
```bash
# 安装依赖库
sudo apt-get install libboost-chrono-dev libboost-system-dev
git clone https://github.com/alanxz/SimpleAmqpClient.git
cd SimpleAmqpClient
mkdir build
cd build
cmake ..
make
sudo make install
```
附:rabbitmq 常用命令
# 启动 web 监控
sudo rabbitmq-server
# 开启 Web 管理插件
sudo rabbitmq-plugins enable rabbitmq_management
# 查看服务
sudo rabbitmq-plugins list
# 启动
sudo service rabbitmq-server start
# 关闭
sudo rabbitmqctl stop
# 设置开机自启
sudo chkconfig rabbitmq-server on
# 新建用户
rabbitmqctl add_user <用户名> <密码> # guest 只能本地访问
# 设定用户 administrator 角色
rabbitmqctl set_user_tags <用户名> administrator
# 赋予用户权限
rabbitmqctl set_permission -p / <用户名> ".*" ".*" ".*"
# 查看所有账号
rabbitmqctl list_users
# 修改密码
rabbitmqctl change_password <用户名> <新密码>
# 删除用户
rabbitmqctl delete_user <用户名>