抽空整理了下《一起看电影》的代码,感兴趣的可以参考一下,资源下载
实验过程的服务器系统选用
Ubuntu20.04
,以下操作基于该系统
Docker基础
指令 | 作用 |
---|---|
docker images | 查看镜像 可以看到镜像名 |
docker run -itd -p 外部端口:内部端口 --name 自定义容器名 镜像名 | 运行容器 |
docker ps | 列出正在运行的容器 可以看到容器id下称id |
docker ps -a | 列出所有包括未运行的容器 |
docker attach id | 进入容器 |
Ctrl + P + Q | 退出容器 |
docker stop id | 暂停容器 暂停后才能删除 |
docker start id | 启动容器 |
docker rm id | 删除容器 |
docker rmi 镜像名 | 删除镜像 删除使用镜像的容器后才能删除该镜像 |
安装Docker
apt install docker.io
拉取ubuntu镜像
docker pull ubuntu:20.04
映射端口到容器
因为公司内网屏蔽了高位端口,我们在容器到外部的端口之间做一个映射
docker run -itd -p 8001:5672 -p 8002:15672 -p 8003:25672 -p 8004:15670 -p 8005:15674 -p 8006:61613 --name 自定义容器名 ubuntu:20.04
Protocol | Bound to | Port | 作用 |
---|---|---|---|
amqp | :: | 5672 | rabbitMQ的端口号 |
clustering | :: | 25672 | |
http | :: | 15670 | |
http | :: | 15672 | RabbitMQ的web页面的端口号 |
http/web-stomp | :: | 15674 | stomp打开的ws端口号 |
stomp | :: | 61613 | stomp的端口号(内部) |
Context | Bound to | Port | SSL | Path |
---|---|---|---|---|
RabbitMQ Management | 0.0.0.0 | 15672 | ○ | / |
WEB-STOMP: examples | 0.0.0.0 | 15670 | ○ | /web-stomp-examples |
查看跑起来的容器并进入
docker ps
docker attach id
安装rabbitmq
安装
sudo apt-get update
sudo apt-get install erlang-nox -y
sudo apt-get install rabbitmq-server -y
rabbitmq 服务管理
# 启动 rabbitmq 服务
service rabbitmq-server start
# 关闭 rabbitmq 服务
service rabbitmq-server stop
# 重启 rabbitmq 服务
service rabbitmq-server restart
# 查看 rabbitmq 状态
service rabbitmq-server status
rabbitmq 添加用户
# 添加用户
sudo rabbitmqctl add_user admin admin
# 赋予权限
sudo rabbitmqctl set_user_tags admin administrator
# 赋予 virtual host 中所有资源的配置、写、读权限
sudo rabbitmqctl set_permissions -p / admin '.*' '.*' '.*'
rabbitmq_manager
i rabbitmq_manager 是官方提供的管理工具,官方地址
# 启用 rabbitmq_manager
cd /etc/rabbitmq
sudo rabbitmq-plugins enable rabbitmq_management
d 访问 rabbitmq_manager:地址:http://localhost:15672 账户:admin 密码:admin
rabbitMQ安装Stom插件用来启动 ws
rabbitmq-plugins enable rabbitmq_web_stomp
rabbitmq-plugins enable rabbitmq_web_stomp_examples
启用 guest 账号
# rabbitmq_server-3.8.2 要先确定 rabbitmq 的版本
vi /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.2/ebin/rabbit.app
# 将 loopback_users 中的 guest 删除
{loopback_users, [<<"guest">>]},
# 重启 rabbitmq
service rabbitmq-server restart