部署前后端分离若依项目--CentOS7Docker版

一、准备

centos7虚拟机或服务器一台

若依前后端分离项目:可在下面拉取

RuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本

 二、环境

1、centos7安装docker

卸载系统之前可能安装的 docker(防止冲突)

sudo yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

2、安装Docker-CE 基本环境

安装必须的依赖

sudo yum install -y yum-utils

这里如果安装报错可以看看我的另一篇文章:已加载插件:fastestmirror Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://_已加载插件:fastestmirror loading mirror speeds from cac-优快云博客

3、设置 docker repo 的 yum 位置

sudo yum-config-manager \
--add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 4、安装docker以及 docker-cli

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-pl ugin docker-compose-plugin

5、设置 docker 开机自启

systemctl enable docker --now

6、配置 docker 镜像加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

换这个镜像:

{
"registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.1panel.live"
  ]
}

7、验证docker

docker info

三、部署后端

1、添加网络

docker network create ruoyi

2、mysql配置

将mysql对镜像名字设置为数据库对应的名字

#启动mysql
docker run -d -p 3306:3306 \
-v mysql-data:/var/lib/mysql \
-v /app/myconf:/etc/mysql/conf.d \
-e  MYSQL_ROOT_PASSWORD=123456  \
-e  MYSQL_DATABASE=ry  \
--restart always --name mysql-server \
--network ruoyi \
mysql

navicat连接数据库

将ruoyi初始化的一些表导入

3、redis配置

将redis对镜像的名字设置为redis对应的名字

docker run -d -p 6379:6379 \
-v redis-data:/bitnami/redis/data \
-v redis-conf:/opt/bitnami/redis/mounted-etc \
-e REDIS_PASSWORD=123456 \
--restart always --name redis-server \
--network ruoyi bitnami/redis:latest

测试连接

4、将项目jar包制作为镜像

将jar包导入虚拟机内

编写Dockerfile文件制作镜像

FROM openjdk:8

LABEL author=ruoyi

COPY ruoyi.jar /ruoyi.jar

EXPOSE 6086

ENTRYPOINT ["java","-jar","/ruoyi.jar"]

制作镜像

docker build -f Dockerfile -t ruoyi:v1.0 .

5、启动

docker run -d -p 6086:6086 \
--restart always --name ruoyi \
--network ruoyi \
ruoyi:v1.0

可以通过docker logs ruoyi查看日志是否启动成功

四、部署前端

1、配置nginx

docker run -d -p 6099:80 -v /opt/en/www:/usr/share/nginx/www -v ngconf:/etc/nginx --name mynginx --restart always nginx

2、导入前端文件

将文件导入在我们挂载的文件夹下

3、配置nginx配置文件

user  root;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
    include /etc/nginx/conf.d/*.conf;
    server {
        listen       80;
        server_name  192.168.101.77;
        location / {
              alias /usr/share/nginx/www/dist/;
              try_files $uri $uri/ /index.html;
              index  index.html index.htm;
        }

    location @router {
            rewrite ^.*$ /index.html last;
        }

          #添加头部信息
        proxy_set_header Cookie $http_cookie;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        #添加拦截路径和代理地址

      location /prod-api/ {
          if ($request_uri ~ /prod-api/(.*)$){
                        proxy_pass http://192.168.101.77:8086/$1;
                }
    }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

}

五、完成启动

重启nginx

访问ip

启动成功

六、Compose启动

一会在写吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值