微服务项目的部署
本文参考 https://gitee.com/gz-yami/mall4cloud,结合自己的思考和实际进行修改,侵联删
准备
- 阿里云轻量应用服务器,操作系统版本CentOS 7
- Xshell(用来连接云服务器)
- IntelliJ IDEA 2022.1.3
Centos安装 Docker
从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。
Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。
本文介绍 Docker CE 的安装使用。
移除旧的版本:
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 缓存:
# centos 7
sudo yum makecache fast
# CentOS 8 没有fast这个命令
sudo yum makecache
安装 Docker-ce:
sudo yum -y install docker-ce
查看已安装docker版本
docker version
启动 Docker 后台服务
sudo systemctl start docker
开机启动
sudo systemctl enable docker
镜像加速
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决。
可以使用阿里云的docker镜像地址:https://7qyk8phi.mirror.aliyuncs.com
新版的 Docker 使用 /etc/docker/daemon.json(Linux,没有请新建)。
请在该配置文件中加入:
(没有该文件的话,请先建一个)
{
"registry-mirrors": ["https://7qyk8phi.mirror.aliyuncs.com"]
}
重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
检查加速器是否生效
配置加速器之后,如果拉取镜像仍然十分缓慢,请手动检查加速器配置是否生效,在命令行执行 docker info
,如果从结果中看到了如下内容,说明配置成功。
Registry Mirrors:
https://7qyk8phi.mirror.aliyuncs.com/
下载docker-compose
方法1 curl
#运行此命令以下载 Docker Compose 的当前稳定版本
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#对二进制文件应用可执行权限
sudo chmod +x /usr/local/bin/docker-compose
#测试安装
docker-compose --version
#若有docker-compose version 1.29.2, build 5becea4c,则安装成功
上面那个github的下载不了可以换一个
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
方法2 pip
如果还是失败,可以再换pip安装
1、安装python-pip
yum -y install epel-release
yum -y install python-pip
2、安装docker-compose
pip install docker-compose
待安装完成后,执行查询版本的命令确认安装成功
docker-compose version
方法3 直接下载released
但是这些方式都不如直接去github下一个包https://github.com/docker/compose/releases/tag/1.29.2
- 上传docker-compose文件到Linux系统(xshell有时候不太好用,可以考虑vscode中的SFTP插件)
- 将文件移动到/msr/1oca1/bin目录中
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
- 赋予执行权限
chmod +x /usr/local/bin/docker-compose
用docker-compose部署中间件
1.在文件编辑器上,使用全局替换的方式,将文件夹下的所有 192.168.1.46替换为服务器的ip
2.将所有中间件文件及文件夹打包上传到服务器,效果如图所示
3.执行授权命令
chmod -R 777 ./rocketmq/broker/logs
chmod -R 777 ./rocketmq/broker/store
chmod -R 666 ./minio/data
chmod -R 777 ./elasticsearch/data
4.启动容器
ps: 容器一共要下载7G左右的数据,请耐心等待
docker-compose up -d --build
5.各个端访问路径及其密码
请自行192.168.1.46替换为服务器ip
- mysql: 使用数据库连接工具进行连接, 端口3306 账号及密码 root/root
- minio: http://192.168.1.46:9000 账号及密码 admin/admin123456
- redis: 端口6379,没有密码
- nacos: http://192.168.1.46:8848/nacos 账号及密码 nacos/nacos
- 注意检查naocs是否启动成功;nacos地址是否正确;nacos的8848、9848端口是否开放
- kibana: http://192.168.1.46:5601
-rocketmq-dashboard:http://192.168.1.46:8180
6.访问minio管理页面,右下角有个加号,创建存储区域(create bucker) 名为mall4cloud
若要前端可以读取图片,需要设置权限
7.创建es索引
新建索引
根据自己本地ip地址打开控制台,如下界面
http://192.168.1.46:5601/app/dev_tools#/console
需创建order、product两个索引
复制下述命令到左框,点击执行后即可
命令的内容参考本目录下…/es/order.md …/es/product.md
导入项目
安装jdk + maven + git
使用git下载项目
使用idea,点击open,打开下载好的目录
使用ctrl + shift + r 全局替换掉 192.168.1.46 为中间件服务器ip
设置idea内存
在idea启动所有的项目,是很吃力的事情。所以要修改下idea的配置,让其能有足够的内存启动项目
减小jar启动占用内存
编辑虚拟机配置,将每个服务的内存改为512M,-Xms512m -Xms512m -Xss256k,如果机器实在内存不够,可以将512适当减少,但是减少到一定程度,如256m会造成java虚拟机频繁的垃圾回收,会更加卡,所以推荐512m。
增加idea可使用内存
编辑idea配置,增加内存,至少变为2G,根据需要,可以适当增大,以提高流畅度。
-Xms512m
-Xmx2048m
-XX:ReservedCodeCacheSize=512m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=100
editvm
idea配置
配置完毕,重启idea,此时可以启动所有项目。
- 启动项目
框框中的是必须启动的项目,其他是按需启动,推荐全部都启动起来,需要一台16G内存以上的电脑