申请一台阿里云服务器ECS, 2核4G,cenos7系统
docker 安装
yum -y install docker 安装docker
systemctl enable docker 设置docker开机启动
systemctl start docker 启动docker
docker -v 查看docker版本
设置docker加速仓库配置 docker镜像仓库默认在国外的服务器上,导致拉取镜像的速度很慢,需要配置加速地址来加快镜像的拉取速度。
切换到docker的安装目录
cd /etc/docker/
修改daemon.json文件中的内容:
{ "registry-mirrors":["32xw0apq.mirror.aliyuncs.com"] }
修改配置之后需要重启docker
systemctl restart docker
mysql安装
docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
现在本地找mysql,如果找不到会从网上自动下载。 阿里云服务器需要配置网络安全组中对外开放的端口3307,mysql才能被外部访问。
redis安装
docker run --name redis -p 6380:6379 -d redis
默认拉取安装最新的redis镜像并启动redis容器(最新的拉取redis的目录里没有找到redis-cli,自己上传了一个redis镜像)
docker exec -it 6456ad59f9f9 bash
进入redis容器进入/usr/local/bin目录下找到redis-cli
root@6dc2af01a47d:/usr/local# cd bin
root@6dc2af01a47d:/usr/local/bin# ls
docker-entrypoint.sh redis-benchmark redis-check-rdb redis-sentinel gosu redis-check-aof redis-cli redis-server
root@6dc2af01a47d:/usr/local/bin# redis-cli
127.0.0.1:6379>
127.0.0.1:6379> CONFIG GET requirepass
- "requirepass"
- ""
127.0.0.1:6379> CONFIG set requirepass 123456
OK
阿里云服务器需要配置网络安全组中对外开放的端口6380,redis才能被外部访问。
RocketMQ安装
rocketmq-namesrv
docker run --name namesrv -p 9876:9876 -e "MAX_POSSIBLE_HEAP=10000000" -d rocketmqinc/rocketmq sh mqnamesrv
查看namesrv的ip地址
修改borker注册到namesrv上的ip地址为阿里云服务器的公网ip地址
rocketmq-broker 消息存储地方
docker run --name broker -p 10911:10911 -p 10909:10909 -v /xiankejin/rocketmq/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf --link namesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" -d rocketmqinc/rocketmq:4.4.0 sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf
rocketmq-console-ng 管理控制台,可视化
docker run --name=rocketmq-console -e "JAVA_OPTS=-Drocketmq.namesrv.addr=47.108.215.194:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 -d styletang/rocketmq-console-ng
http://47.108.215.194:8080/#/cluster
需要放行的端口:9876/10911/8080
rocketmq运行流程
- broker会注册到namesrv上,应用程序首先会连接到namesrv获取到borker列表brokerServerList。
- 负载均衡broker列表。
- 应用程序与borker进行TCP连接。
mongodb安装 下载并启动mongo容器
docker run --name mongo -p 27017:27017 -d mongo --auth
进入mongo容器,然后执行mongo脚本,进入admin数据库
docker exec -it mongo mongo admin
给mongo设置密码:
db.createUser({user:'admin',pwd:'123456', roles:[{role:'userAdminAnyDatabase', db:'admin'}]});
阿里云服务器放开27017端口
在容器里面执行命令,安装vim
apt-get update && apt-get install -y vim
nacos-server安装
docker run --name nacos -e MODE=standalone -p 8848:8848 -d nacos/nacos-server:1.1.4
阿里云服务器上放行8848端口 访问地址:http://47.109.203.8:8848/nacos
nacos/nacos
sentinel-dashboard
docker run --name sentinel -p 8858:8858 -d bladex/sentinel-dashboard
阿里云服务器放行8858端口
http://47.109.203.8:8858/#/login
sentinel/sentinel
seata-server安装
docker run --name seata-server -p 8091:8091 -e SEATA_IP=47.109.203.8 -d seataio/seata-server
阿里云服务器开发8091端口
telnet命令
服务器中如何判断一个端口是否被监听的命令telnet
yum install -y telnet