- 安装JDK8
- 安装Docker
- 安装RocketMQ
- 安装RocketMQ管理界面
- 安装MySQL数据库
- 安装Redis缓存
- 安装Nginx代理
- 安装Nacos组件
- 安装MongoDB
- 关闭防火墙
- docker安装RabbitMQ
常用命令
win
# 查看端口
netstat -ano|find :8001
# 强制关闭
taskkill -f -pid xxxx
GIT
clone代码
git clone 源码地址
git clone -b 分支名 源码地址
提交时分支出现问题时
git branch xxx #创建xxx分支
git checkout master #切换到master分支
git merget xxx #合并xxx分支
Docker
#进入容器
docker exec -it xxx bash
MongoDB 连接工具下载
https://nosqlbooster.com/downloads
网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-ens33
Docker容器操作
#
docker container start id
#
docker container stop id
#
docker container restart id
## 进入指定容器
docker exec -it 802 bash #802为容器id
删除容器
docker container rm 802 #802为容器id
## 其中,如果删除运行中的容器,需要添加 -f 参数执行强制删除,例如:
docker container rm -f 802 #802为容器id
## 清理所有处于终止状态容器,例如:
docker container prune
一, 安装配置JDK8
1. 上传jdk压缩文件
将文件jdk-8u212-linux-x64.tar.gz上传到 /root 目录
2. 解压缩
执行解压命令
# 将jdk解压到 /usr/local/ 目录
tar -xf jdk-8u212-linux-x64.tar.gz -C /usr/local/
# 切换到 /usr/local/ 目录, 显示列表, 查看解压缩的jdk目录
cd /usr/local
ll
3. 配置环境变量
修改 /etc/profile 配置文件, 配置环境变量
vim /etc/profile
# 在文件末尾添加以下内容:
export JAVA_HOME=/usr/local/jdk1.8.0_212
export PATH=$JAVA_HOME/bin:$PATH
修改完后, 让环境变量立即生效
source /etc/profile
4. 验证
java -version
二,安装 Docker (centOS 7)
1.在线安装
1.安装工具
sudo yum install -y yum-utils
2.设yum仓库地址
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.更新yum缓存
sudo yum makecache fast #yum 是包管理器
4.安装docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
5.启动
systemctl start docker
sudo systemctl enable docker #设置开机自启
2.离线安装
# 进入文件夹
cd /root/setup/docker
# 为 install.sh添加执行权限
chmod +x install.sh
# 安装
./install.sh -f docker-20.10.6.tgz
三,安装 RocketMQ
1. 下载 rocketmq 二进制文件
wget --no-check-certificate https://dlcdn.apache.org/rocketmq/4.9.2/rocketmq-all-4.9.2-bin-release.zip
2. 解压缩 rocketmq
将 rocketmq 解压到 /usr/local/ 目录
unzip rocketmq-all-4.9.2-bin-release.zip -d /usr/local/
# 修改一下文件夹名,改成 rocketmq 方便使用
mv /usr/local/rocketmq-4.9.2 /usr/local/rocketmq
3. 配置环境变量 ROCKETMQ_HOME 和 PATH
为了后续操作方便可以配置环境变量,之后在任意位置都可以执行rocketmq的操作命令。
vim /etc/profile
# 在文件末尾添加以下内容:
export ROCKETMQ_HOME=/usr/local/rocketmq
export PATH=$ROCKETMQ_HOME/bin:$PATH
修改完后, 让环境变量立即生效
source /etc/profile
4. 减小 rocketmq 使用的内存
rocketmq需要启动两个服务: name server 和 broker, name server 默认配置JVM使用的内存是4g, broker默认配置JVM使用的内存是8g.
开发环境中如果内存不足, 服务可能会无法启动, 可以通过降低两个服务的内存, 使服务可以正常启动, 也可以节省内存.
修改 name server 内存改为 256m
cd /usr/local/rocketmq/
# 编辑 bin/runserver.sh
vim bin/runserver.sh
# 找到文件中下面这一行:
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
# 将 -Xms4g -Xmx4g -Xmn2g 修改为 -Xms256m -Xmx256m -Xmn128m
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
修改 broker 内存改为 256m
# 编辑 bin/runbroker.sh
vim bin/runbroker.sh
# 找到文件中下面这一行:
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g"
# 将 -Xms8g -Xmx8g -Xmn4g 修改为 -Xms256m -Xmx256m
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m"
5. 启动 rocketmq
先启动 name server
# 进入 rocketmq 目录
cd /usr/local/rocketmq/
# 启动 name server
nohup sh bin/mqnamesrv &
# 查看运行日志, 看到"The Name Server boot success."表示启动成功
tail -f ~/logs/rocketmqlogs/namesrv.log
再启动 broker
# 启动 broker, 连接name server: localhost:9876
nohup sh bin/mqbroker -n localhost:9876 &
# 查看运行日志, 看到"The broker[......:10911] boot success."表示启动成功
tail -f ~/logs/rocketmqlogs/broker.log
四,RocketMQ 管理界面
有已经打包好的直接第三步 在当前包 运行管理界面
在开源项目 rocketmq-dashboard 中提供了rocketmq 的管理界面: 地址为: https://github.com/apache/rocketmq-dashboard
github 在国内访问缓慢, 也可以使用码云的镜像项目, 地址为: https://gitee.com/mirrors_apache/rocketmq-dashboard
- 克隆项目
cd /usr/local/rocketmq/
# 克隆 rocketmq-dashboard 项目
git clone https://gitee.com/mirrors_apache/rocketmq-dashboard
- maven打包管理界面项目
如果没有安装 maven,请先安装
# 下载 maven
wget --no-check-certificate https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz
# 解压
tar xf apache-maven-3.8.4-bin.tar.gz -C /usr/local/
# 设置环境变量
cat <<EOF > /etc/profile.d/mvn.sh
export PATH=/usr/local/apache-maven-3.8.4/bin:$PATH
EOF
# 让环境变量生效
source /etc/profile.d/mvn.sh
# 检查 maven 是否可运行
mvn -version
打包管理界面项目 rocketmq-dashboard.
打包过程中会下载各种依赖,比较缓慢,请耐心等待
# 进入管理界面项目的文件夹
cd rocketmq-dashboard
# 执行maven 打包命令, 执行时间较长, 请耐心等待
mvn clean package -Dmaven.test.skip=true
- 运行启动管理界面
打包的 jar 文件在 target 目录, 进入目录执行jar文件
# 进入 target 目录
cd target
# 运行管理界面
nohup java -jar rocketmq-dashboard-1.0.1-SNAPSHOT.jar --server.port=8080 --rocketmq.config.namesrvAddr=localhost:9876 &
访问管理界面:http://192.168.64.141:8080
关闭防火墙
rocketmq的通信会用到多个端口, 为了方便测试我们关闭防火墙
五,安装mysql
1. 在hub.docker.com
上搜索mysql镜像
2. 拉取指定版本的mysql,也可以指定拉取版本,例如:
docker pull mysql:8.0.23
3. 检查mysql镜像
docker images
4. 启动运行mysql镜像 (docker run 用于启动一个容器)
sudo docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.23
假如安装过程中失败了,则可通过docker ps -a 查看以前的容器,假如已存在,则通过docker rm 镜像id 删除再重新安装即可。
登陆mysql服务
第一步:进入容器 (退出容器用exit)
sudo docker exec -it mysql bash
第二步:登陆(默认密码root),一定要先进入mysql容器。
mysql -uroot -proot
停止和启动mysql服务
docker stop mysql
docker start mysql
假如希望查看mysql启动时的日志,可以执行 docker container logs mysql
这个指令。
设置mysql开机自启动(可选)
docker update mysql --restart=always
六,安装Redis缓存
第一步:下载镜像文件
docker pull redis
第二步:准备配置文件
创建redis配置文件目录
mkdir -p /usr/local/docker/redis01/conf
在配置文件录下创建redis.conf配置文件(这个文件一定要创建,否在我们进行目录挂载时默认生成的是一个目录)
touch /usr/local/docker/redis01/conf/redis.conf
第三步:创建redis实例并启动
sudo docker run -p 6379:6379 --name redis01 \
-v /usr/local/docker/redis01/data:/data \
-v /usr/local/docker/redis01/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
第四步:查看正在运行的进程
docker ps
访问redis服务器
控制台直接连接redis测试
docker exec -it redis01 bash
检测redis 版本
redis-server -v
## 或者
redis-cli -v
登录redis(默认不需要密码)
redis-cli
##或者直接将上面的两个步骤合为一个步骤执行也可以,指令如下:
docker exec -it redis01 redis-cli
停止和启动redis服务
## 停止redis服务?
docker stop redis01
## 启动redis服务?
docker start redis01
##重启 redis 服务
docker restart redis01
七,安装Nginx代理
1. 拉取nginx镜像 (从这里hub.docker.com去查找)
docker pull nginx
2. 查看images镜像
docker images
3. 创建数据卷(这个对象会在宿主机直接创建一个目录)
docker volume create nginx-vol
说明:查看数据卷对应的宿主机目录,可以通过如下指令:
docker inspect nginx-vol
4. 启动nginx服务
docker run --name nginx -p 80:80 -v nginx-vol:/etc/nginx -d nginx
其中: /etc/nginx 为nginx
容器启动时,nginx镜像文件默认的解压目录
说明:假如以后想修改nginx配置,可以直接去nginx-vol
数据卷对应的目录去修改.
访问nginx服务
进行访问检测,如图所示:
停止和启动nginx服务
## 停止nginx服务
docker stop nginx
## 启动nginx服务
docker start nginx
## 重启nginx服务
docker restart nginx
八,安装Nacos组件
1. 拉取nacos(hub.docker.com)
docker pull nacos/nacos-server:1.4.1
2. mysql中执行nacos的sql脚本文件
1)将此文件 nacos-mysql.sql
(这个文件可从code服务器下载)拷贝到mysql容器的宿主机对应的挂载目录(可通过docker inspect mysql
查看你mysql的挂载目录)
2)在linux环境下启动并登录mysql
进入mysql容器(前提是mysql已启动)
docker exec -it mysql bash
登录mysql
mysql -uroot -p
3)通过source指令运行容器目录下的sql文件
source /etc/mysql/nacos-mysql.sql #这里的/etc/mysql为容器中的一个目录(要选择你自己挂载的目录)
例如:
3. 创建并启动nacos容器(拷贝下面内容时,账号和密码要用自己宿主机ip,自己数据库的账号密码)
docker run \
-e TZ="Asia/Shanghai" \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_DATABASE_NUM=1 \
-e MYSQL_SERVICE_HOST=192.168.126.129 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-p 8848:8848 \
--name nacos \
--restart=always \
-d nacos/nacos-server:1.4.1
参数说明
单节点模式
MODE=standalone
数据库地址
MYSQL_SERVICE_HOST
数据库用户名
MYSQL_SERVICE_USER
数据库密码
MYSQL_SERVICE_PASSWORD
需连接的数据库名称
MYSQL_SERVICE_DB_NAME
端口映射
-p 8848:8848
任意时候重启容器,开机就能自动启动容器(需设置docker为开机自启)--restart=always
4. 检查nacos服务
docker ps
假如启动失败,检查启动日志,例如:
docker container logs nacos
其中,nacos的启动日志在/home/nacos/logs/start.out文件中。
5. 访问nacos服务
启动nacos,然后在windows中输入http://ip:port/nacos方式进行访问测试
说明,nacos登录时,默认用户名和密码都是nacos.
6 停止和启动nacos服务
##停止nacos服务
docker stop nacos
## 启动nacos服务
docker start nacos
## 重启nacos服务
docker restart nacos
7 Nacos 与 MySQL 通讯分析
九,安装MongoDB
docker安装
#拉取镜像
docker pull mongo:latest
#创建和启动容器
docker run -d --restart=always -p 27017:27017 --name mymongo -v /data/db:/data/db-d mongo
** **
#进入容器
docker exec -it mymongo /bin/bash
#使用MongoDB客户端进行操作 (mongodb 6.0后使用 mongosh 进入客户端)
mongo
> show dbs#查询所有的数据库
常用操作
> db.User.save({name:'zhangsan',age:21,sex:true})
##
> db.User.find()
关闭防火墙
# 关闭防火墙
systemctl stop firewalld.service
# 禁止防火墙开机启动
systemctl disable firewalld.service
# 开启防火墙
systemctl start firewalld.service
# 重启防火墙
firewall-cmd --reload
docker安装RabbitMQ
下载镜像
# management版本有管理界面
docker pull rabbitmq:management
启动镜像
docker run -d -p 5672:5672 \
-p 15672:15672 \
--name rabbitmq \
rabbitmq:management
关闭防火墙 访问 ip:15672
默认用户guest
默认密码guest
操作
# 进入rabbitmq容器
docker exec -it rabbitmq bash
#查看用户
rabbitmqctl list_users
# 添加并给权限
rabbitmqctl add_user admin 123
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"