JavaCove部署文档

1. 基础配置

1.1服务器: 2 核 2G

1.2. 一个域名

1.3. 项目地址:

gitee:https://gitee.com/guo-_jun/JavaCove

github:https://github.com/nansheng1212/JavaCove

2. CentOS 安装 Docker

官方网站上有各种环境下的 安装指南,这里主要介绍 Docker CE 在 CentOS 上的安装。

2.1 卸载(可选)

如果之前安装过旧版本的 Docker,可以使用下面命令卸载:

shell 复制代码
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.2 安装 Docker

  1. 安装 yum 工具

    shell 复制代码
    yum install -y yum-utils
  2. 设置镜像仓库

    shell 复制代码
    yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  3. 更新 yum 软件包索引

    shell 复制代码
    yum makecache fast
  4. 安装 Docker CE

    shell 复制代码
    yum install docker-ce docker-ce-cli containerd.io

2.3 启动 Docker

  1. 启动 Docker

    shell 复制代码
    systemctl start docker
  2. 查看 Docker 版本

    shell 复制代码
    docker version

3. CentOS 安装 DockerCompose

3.1 安装 DockerCompose

shell 复制代码
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

如果下载速度较慢或者下载失败,去Release 1.29.2 · docker/compose (github.com)选择相应版本,下载 docker-compose-Linux-x86_64 到本地,更名为docker-compose,上传到服务器的/usr/local/bin目录下

3.2 修改文件权限

shell 复制代码
chmod +x /usr/local/bin/docker-compose

4. nginx 配置 https

  1. 先去腾讯云或者阿里云申请免费 SSL 证书,然后选择 Nginx 服务器类型下载

  2. 证书下载之后上传到/etc/ssl/certs目录下

  3. /usr/local目录下新建nginx文件夹

    shell 复制代码
    cd /usr/local
    mkdir nginx
  4. 创建目录/usr/local/upload作为本地文件存储路径

  5. 将以下的nginx.conf改好后上传到/usr/local/nginx下,我的直接贴进来了,仅供参考

    shell 复制代码
    events {
    worker_connections  1024;
    }
    
    http {
    
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
    
        client_max_body_size     50m;
        client_body_buffer_size  10m;
        client_header_timeout    1m;
        client_body_timeout      1m;
    
        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_comp_level  4;
        gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
        gzip_vary on;
    
    server {
    listen  443 ssl;
    server_name  www.junlty.top;
    
            ssl_certificate    /etc/ssl/certs/www.junlty.top.pem;
            ssl_certificate_key  /etc/ssl/certs/www.junlty.top.key;
            ssl_session_timeout 5m;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
            ssl_prefer_server_ciphers on;
    
           location / {
                root   /usr/local/vue/blog;
                index  index.html index.htm;
                try_files $uri $uri/ /index.html;
            }
    
            location ^~ /api/ {
                proxy_pass http://121.40.246.82:8080/;
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            }
    
        }
    
    server {
    listen  443 ssl;
    server_name  admin.junlty.top;
    
            ssl_certificate    /etc/ssl/certs/admin.junlty.top.pem;
            ssl_certificate_key  /etc/ssl/certs/admin.junlty.top.key;
            ssl_session_timeout 5m;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
            ssl_prefer_server_ciphers on;
    
           location / {
                root   /usr/local/vue/admin;
                index  index.html index.htm;
                try_files $uri $uri/ /index.html;
            }
    
            location ^~ /api/ {
                proxy_pass http://121.40.246.82:8080/;
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            }
    
        }
    
    server {
    listen       80;
    server_name  www.junlty.top;
    
            rewrite ^(.*)$	https://$host$1	permanent;
    
        }
    
    server {
    listen       80;
    server_name  admin.junlty.top;
    
            rewrite ^(.*)$	https://$host$1	permanent;
    
        }
    
    }

5. 打包前端

  1. npm install

  2. 修改shoka-adminshoka-blog的 utils 文件下的 token.ts,将 domain 改成自己的所在域

  3. 接着修改前端的vite.config.ts代理地址,改成自己的 ip

  4. 申请了 Gitee 和 Github 的第三方登录,记得修改前端的应用 id 和回调地址

  1. npm run build

  2. 打包之后将博客前台和后台的dist分别重命名为blogadmin,然后上传到服务器的/usr/local/vue目录下(没有就创建)

6. 打包后端

  1. 修改application.yml信息后,执行 maven 的 package 命令选择 jar 方式打包
  1. 在服务器创建/usr/local/docker目录,并将target中的 jar 包上传到该目录
  2. 修改doc文件夹中的.env配置文件中的信息,一定确认docker-compose.yml中挂载的目录和文件是否存在
  3. doc文件夹中的文件上传到/usr/local/docker目录中

7. 执行 sh 脚本

服务器的防火墙端口一定要放开

shell 复制代码
cd /usr/local/docker
sh blog-start.sh

项目就部署完成了,用docker ps查看正在运行的容器。

8. 最后

有什么问题的话,可以在下方评论区评论。不方便评论的话,可以加我联系方式私聊。写的不对的地方欢迎大家在评论区指出

相关推荐
wmxz52011 天前
Linux环境安装Jenkins
linux·ci/cd·jenkins·持续部署·持续集成
乐迁~14 天前
技能大赛项目部署(保姆级教程)
nginx·阿里云·持续部署
AliCloudROS1 个月前
2分钟在阿里云ECS控制台部署个人应用(图文示例)
阿里云·ci/cd·持续部署
士多啤梨先生2 个月前
AI 部署新利器:LitServe 高效引擎,跨框架支持,速度倍增
人工智能·语言模型·持续部署
学步_技术2 个月前
自动驾驶系列—探索自动驾驶持续部署(CD)技术与最佳实践
人工智能·ci/cd·自动驾驶·持续部署
微刻时光2 个月前
Docker本地镜像发布到阿里云镜像服务的简易指南
运维·笔记·阿里云·docker·容器·运维开发·持续部署
我的程序快快跑啊2 个月前
Docker:快速部署
docker·容器·持续部署
温、3 个月前
【docker学习笔记】docker概念和命令
笔记·docker·持续部署
laufing3 个月前
基于 jenkins 的持续测试方案
jenkins·持续部署·持续集成·持续测试