Skip to content

romenl/rabbitmq-tutorial

Repository files navigation

基于Python的rabbitmq教程.

安装:(推荐使用docker的镜像,这样也不会“污染”本地环境)

基于Ubuntu

  • 下载docker:

sudo apt-get install docker.io

  • 给予你自己使用docker的权限:

sudo chmod o+wr /var/run/docker.sock

  • 查找rabbmit镜像:

docker search rabbitmq

你会看到:

docker search rabbitmq
NAME                                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
rabbitmq                                       RabbitMQ is an open source multi-protocol ...   1801      [OK]       
tutum/rabbitmq                                 Base docker image to run a RabbitMQ server      15                   
frodenas/rabbitmq                              A Docker Image for RabbitMQ                     12                   [OK]
bitnami/rabbitmq                               Bitnami Docker Image for RabbitMQ               9                    [OK]
...
  • 下载rabbitmq镜像:

docker pull rabbitmq

  • 查看自己本地已经下载好的镜像:

docker images

REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
rabbitmq              latest              b17bd9d70e8b        9 days ago          127 MB
  • 运行rabbitmq镜像:

docker run --name rabbitmq -d -p 4369:4369 rabbitmq

  • 查看自己已经运行的镜像:

docker ps

说明:

  • 你可能会遇到如下的warning:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.27/containers/json: dial unix /var/run/docker.sock: connect: permission denied

默认情况下,docker命令会使用Unix socket与 Docker引擎通信.而只有rootdocker组的用户才可以访问 Docker 引擎和 Unix socket. 处于安全考虑,一般Linux系统上不会直接使用root用户.因此更好的做法是将使用docker的用户加入 docker 用户组.

  • 建立 docker 用户组

sudo groupadd docker

  • 将当前用户加入 docker 用户组

sudo usermod -aG docker $USER

  • 你会遇到当你再次开启电脑之后,运行 'docker ps' 的时候,看不到运行的容器, 请运行 'docker ps -a',这是你会看到你的容器,你会看到你之前运行的那个容器的status是Exit状态.

    你可以:

    docker restart CONTAINER-ID

    你也可以:

    docker run -d --restart=always --name my-rabbitmq -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 25672:25672 rabbitmq

  • 其次在使用rabbitmq的时候,填写的host不在是localhost,而是通过 docker inspect CONTAINER-ID 中的 IP Address.

额外说一句: 当你渐渐熟悉了docker,你会慢慢爱上它,会觉得它非常方便.

About

📖 RabbitMQ官方中文入门教程(Python版)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages