
部署BI项目(Docker+Spring Boot + Redis +RabbitMQ)
今天用Docker部署BI项目,搞了一天,踩了无数的坑(痛苦面具~),在这里记录一下,也分享一下自己的经验。
·
前言
今天用Docker部署BI项目,搞了一天,踩了无数的坑(痛苦面具~),在这里记录一下,也分享一下自己的经验。
购买服务器
1、我是去腾讯云购买的服务器。地址,买一个便宜的就行。
2、选择轻量云服务器
3、部署操作系统,我用的centos7.6
安装docker
1、安装
# 阿里云镜像资源(先执行这个下载加速)
yum-config-manager --add-rep https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装docker
yum install -y docker-ce
2、重启docker服务,设置为开机启动
service docker start
chkconfig docker on
3、检查Docker是否安装成功,如果出现版本,则成功
docker version
4、设置国内云镜像
vi /etc/docker/daemon.json
#添加后
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"],
"live-restore": true
}
5、再次重启
systemctl daemon-reload
service docker restart
安装 Docker Compose
1、安装docker compose
curl -L https://github.com/docker/compose/releases/download/1.28.6/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
这里从github下载,会很慢,如果你们需要可以直接评论我发给你们。
2、导入(从windows导入服务器)
cd /usr/local/bin
rz #直接通过rz导入文件
sudo chmod +x /usr/local/bin/docker-compose
3、测试安装成功
docker-compose --version
出现版本号则成功。
编写Docker-compose文件
由于本文用的云数据库,没有写mysql的配置。其余配置一样即可。
version: '3'
services:
nginx:
image: nginx:latest
ports:
- 80:80
volumes:
- /root/data/nginx/html:/usr/share/nginx/html
- /root/data/nginx/nginx.conf:/etc/nginx/conf.d/nginx.conf
privileged: true
depends_on:
- mrbi
redis:
image: redis:latest
container_name: redis
ports:
- 6379:6379
rabbitmq:
restart: always
image: rabbitmq:management
container_name: rabbitmq
ports:
- 5672:5672
- 15672:15672
environment:
TZ: Asia/Shanghai
RABBITMQ_DEFAULT_USER: guest
RABBITMQ_DEFAULT_PASS: guest
volumes:
- ./data:/var/lib/rabbitmq
mrbi:
image: mrbi:latest
build: .
ports:
- 8080:8080
depends_on:
- redis
- rabbitmq
编写Dockerfile文件
注意:这里jar包要和IDEA打包出来的一样(MRBI-0.0.1-SNAPSHOT.jar)
FROM openjdk:8
WORKDIR /app
COPY MRBI-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","app.jar"]
部署后端
1、将Spring Boot项目打包成jar包,放到服务器里。
这里注意,yml配置,像redis、mysql地址不要写localhost,写成服务器的地址。
例如:
redis:
database: 1
host: # 你的服务器ip地址
port: 6379
timeout: 5000
password: 123456
2、部署nginx
在/root/data/nginx/nginx.conf写入
server {
listen 80;
server_name localhost # 你服务器的ip;
location / {
root /usr/share/nginx/html/dist;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
3、运行容器
输入命令
docker-compose up
这时候docker会拉取镜像,可以用Docker ps查看镜像。
这样后端就部署成功了。别忘了去服务器开启防火墙端口(本人就忘了,搞了半天,排查了一堆,最后才想起来)
部署前端
在前端项目中,运行npm run build。
打包成dist文件,然后将dist文件塞入 /root/data/nginx/html目录中,如下图所示。
完成!
更多推荐
所有评论(0)