Ubuntu18.04下docker-compose安装rabbitmq(dev,qa)

文章目录[x]
  1. 0.1:首先准备台虚拟机
  2. 0.2:下面开始安装环境
  3. 0.3:使用docker-compose安装rabbitmq
  4. 0.4:更新docker-compose即可
  5. 0.5:nginx转发域名配置

本周计划做下服务器迁移,看到之前安装的软件,乱七八糟的安装方式着实令人头大,只能做下数据迁移,但是rabbitmq貌似只是需要它的服务,所以没有什么数据存在(理解不够深刻,也许是有数据的,但是貌似不重要,要的还是他的服务),这次就用docker-compose的方式安装一下我的服务。

首先准备台虚拟机

虚拟机图示

虚拟机图示

系统版本:Ubuntu18.04

下面开始安装环境

之前写了一个不成熟的基础环境设置的脚本,就在这里贴一下:(root用户下,不然命令都要加sudo)

#!/bin/bash
cp -a /etc/apt/sources.list /etc/apt/sources.list.bak 		 #保存备份文件
sed -i "s@http://.*archive.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list	 #替换源
sed -i "s@http://.*security.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list	 #替换源
apt-get update 							 #更新源
apt install docker.io -y 	  				 #安装docker
systemctl start docker						 #启动docker
systemctl enable docker						 #开机自启动
docker -v							 #查看docker安装是否成功
apt-get install python-pip -y					 #安装pip
pip uninstall docker-compose		        		 #卸载之前可能存在的docker-compose,
pip3 install docker-compose					 #使用python3安装docker-compose,报错的话使用 pip install docker-compose
docker-compose --version 					 #查看下docker-compose是否安装成功
apt-get install -y nginx					 #安装nginx 本次安装公司有专门的服务器用于nginx转发,但是配置都是差不多的。

 

一行一行复制命令或者做一个.sh的脚本都可以把基础环境搭好。

在这里注意一下,docker-compose安装并不是很顺利,可能会显示不支持什么什么的,那么就安装一下pip3即可。

apt install python3-pip

使用docker-compose安装rabbitmq

直接创建并编辑docker-compose.yml文件(复制过来就直接没有排序了,好难受,yml格式的文件还挺讲究排序的)

root@serverc03:~# vim docker-compose.yml
version : '2'
services:
dev:
image: rabbitmq:3.7.7-management
container_name: devRabbitmq #容器名
ports:
- '15671:15672'
- '5671:5672'
hostname: devRabbit
environment:
- RABBITMQ_DEFAULT_VHOST=my_vhost
- RABBITMQ_DEFAULT_USER=admin
-  RABBITMQ_DEFAULT_PASS=admin
volumes:
- "/opt/dev:/var/lib/rabbitmq"
qa:
image: rabbitmq:3.7.7-management
container_name: qaRabbitmq #容器名
ports:
- '15673:15672'
- '5673:5672'
hostname: qaRabbit
environment:
- RABBITMQ_DEFAULT_VHOST=my_vhost
- RABBITMQ_DEFAULT_USER=admin
- RABBITMQ_DEFAULT_PASS=admin
volumes:
- "/opt/qa:/var/lib/rabbitmq"

说明:

-container_name 指定容器名;

-ports 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);

-volumes 映射目录或文件;

--hostname  主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);

-environment 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)

更新docker-compose即可

root@serverc03:~# docker-compose up -d
devRabbitmq is up-to-date
Recreating qaRabbitmq ... done
root@serverc03:~# docker ps
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS                                                                                        NAMES
d802842862f3        rabbitmq:3.7.7-management   "docker-entrypoint.s…"   5 seconds ago       Up 3 seconds        4369/tcp, 5671/tcp, 15671/tcp, 25672/tcp, 0.0.0.0:5673->5672/tcp, 0.0.0.0:15673->15672/tcp   qaRabbitmq
480b16397edb        rabbitmq:3.7.7-management   "docker-entrypoint.s…"   35 minutes ago      Up 35 minutes       4369/tcp, 5671/tcp, 15671/tcp, 25672/tcp, 0.0.0.0:5671->5672/tcp, 0.0.0.0:15671->15672/tcp   devRabbitmq

至此,rabbitmq使用docker-compose安装成功,使用下ip+端口看一下是否成功,没有成功的话请在下方留言,我会抽时间看下的。

rabbitmq安装完成

rabbitmq安装完成

安装成功了,还有一件事,配置用户,我这里是admin,admin的账户,并添加相关权限。

sudo rabbitmqctl add_user  admin  admin  #添加admin用户,密码设置为admin
sudo rabbitmqctl set_user_tags admin administrator   #赋予权限
sudo rabbitmqctl  set_permissions -p / admin '.*' '.*' '.*'   #赋予virtual host中所有资源的配置、写、读权限以便管理其中的资源

 

 

nginx转发域名配置

基本也没啥好说的,直接复制一下就好了,我把我这边的配置贴出来(粘过来又没了格式)。

server {
listen 80;
listen 443 ssl http2;
server_name dev-rabbitmq.host;
client_max_body_size 50m;

location / {
proxy_pass http://192.168.10.43:5671;                                                #java需要用到的端口,web端的则是15671
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

 

}
点赞

发表评论

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像

Title - Artist
0:00