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,可以使用下面命令卸载:

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

2.2 安装 Docker

  1. 安装 yum 工具

    yum install -y yum-utils
    
  2. 设置镜像仓库

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

    yum makecache fast
    
  4. 安装 Docker CE

    yum install docker-ce docker-ce-cli containerd.io
    

2.3 启动 Docker

  1. 启动 Docker

    systemctl start docker
    
  2. 查看 Docker 版本

    docker version
    

3. CentOS 安装 DockerCompose

3.1 安装 DockerCompose

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 修改文件权限

chmod +x /usr/local/bin/docker-compose

4. nginx 配置 https

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

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

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

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

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

    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 脚本

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

cd /usr/local/docker
sh blog-start.sh

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

8. 最后

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/56605.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IPD体系中如何构筑E2E的产品成本竞争力

在IPD咨询项目实施过程中,汉捷咨询发现很多企业在新产品开发过程中忽略了对产品的目标成本管控,出现产品开发出来后成本过高,产品竞争力不足,上市后销售不佳等情况。 产品的成本是市场竞争的关键制胜因素之一,也是产品…

jquery实现点击菜单实现高德地图定位点与数据展示联动效果

🍊jquery实现点击菜单实现高德地图定位点与数据展示联动效果 版本介绍: jQuery v3.7.1高德地图JS API 2.0 代码仓库 ⭐ Gitee:实现点击菜单实现高德地图定位点与数据展示联动效果 1.启动说明 📔 推荐VS Code编辑器插件Live Ser…

论文笔记:RelationPrompt :Zero-Shot Relation Triplet Extraction

论文来源: ACL Findings 2022 论文链接:https://arxiv.org/pdf/2203.09101.pdf 论文代码:http://github.com/declare-lab/RelationPrompt 本篇论文是由阿里达摩院自然语言智能实验室于2022年发表的关于零样本关系抽取的顶会论文,本篇博客将记录我在阅读过程中的一些笔记…

ros2 bag 详解

一.命令行详解 ros2 bag 是一个命令行工具,用于记录系统中发布的主题数据。它积累传递给任意数量主题的数据,并将其保存在数据库中。然后可以重放数据以再现测试和实验的结果。记录主题也是分享你的工作并让别人重新创造它的好方法。 &…

pyflink过滤kafka数据

from pyflink.table import (TableEnvironment, EnvironmentSettings)# 输入、输出、过滤条件 columns_in [ ... ]columns_out [ ... ] filter_condition "name 蒋介石 and sex 男"# 创建执行环境t_env TableEnvironment.create(EnvironmentSettings.in_stream…

jmeter中对于有中文内容的csv文件怎么保存

jmeter的功能很强大,但是细节处没把握好就得不到预期的结果。今天来讲讲有中文内容的csv文件的参数化使用中需要注意的事项。 对于有中文内容,涉及到编码格式,为了让jmeter能正确地读取csv文件中的中文,需要把文件转码为UTF-8BOM…

EFFPLMN(Forbidden PLMNs)

EFFPLMN(Forbidden PLMNs)文件包含了被禁止的公共陆地移动网络(PLMN)的编码。当网络拒绝位置更新请求,并给出“PLMN不允许”的原因时,这些PLMN会被写入到这个文件中。移动设备(UE)在…

OPENSSL-2023/11/10学习记录-C/C++对称分组加密DES

对称分组加密常用算法: DES 3DES AES 国密SM4 对称分组加密应用场景: 文件或者视频加密 加密比特币私钥 消息或者配置项加密 SSL通信加密 对称分组加密 使用异或实现一个简易的对称加密算法 A明文 B秘钥 AB密文AB (AB)B A 密码补全和初始化 数…

学习第三十六行

QValidator::State里面state为0,完全不匹配,1,部分匹配,2,完全匹配,对于label或者textedit里面的字符均为QString类型,特别是遇到数字,需要QString::number转化,对于正则表达式&…

数据操作学习

1.导入torch。虽然被称为PyTorch,但应导入torch而不是pytorch import torch 2.张量表示一个数值组成的数组,这个数组可能有多个维度 xtorch.arange(12)x 3.通过张量的shape属性来访问张量的形状和张量中元素的总数 x.shape x.numel() 4.要改变张量的形…

LangGraph - Hierarchical Agent Teams

本文翻译整理自 Hierarchical Agent Teams https://langchain-ai.github.io/langgraph/tutorials/multi_agent/hierarchical_agent_teams/ 文章目录 一、前言二、设置三、创建工具四、Helper Utilities五、定义代理 Team研究 Team文档写作Team 六、添加图层 一、前言 在前面的…

存在重复元素 II

题目 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] nums [j],并且 i 和 j 的差的 绝对值 至多为 k。 示例 1: 输入: nums [1,2,3,1], k 3 输出: true示例 2: 输入: nums [1,0,1,1], k 1 输…

【高阶数据结构】揭开红黑树‘恶魔’的面具:深度解析底层逻辑

高阶数据结构相关知识点可以通过点击以下链接进行学习一起加油!二叉搜索树AVL树 大家好,我是店小二,欢迎来到本篇内容!今天我们将一起探索红黑树的工作原理及部分功能实现。红黑树的概念相对抽象,但只要我们一步步深入…

自定义注解和组件扫描在Spring Boot中动态注册Bean(二)

在Spring Boot中,自定义注解和组件扫描是实现动态注册Bean的两种重要手段。通过它们,开发者可以灵活地管理Spring容器中的Bean,提高开发效率和代码的可维护性。本文将详细讲解自定义注解和组件扫描在Spring Boot中如何动态注册Bean。 自定义…

html嵌入vue如何使用?

html嵌入vue如何使用&#xff1f; <script src"https://cdn.bootcdn.net/ajax/libs/vue/2.6.14/vue.min.js"></script> <script src"https://cdn.bootcdn.net/ajax/libs/vuex/3.6.2/vuex.min.js"></script> <script src&q…

Java使用HttpClient5实现发送HTTP请求

1、HttpClient5 的介绍 HttpClient5 是 Apache HttpComponents 项目中的一个重要组件&#xff0c;它是一个功能齐全且高度可定制的 HTTP 客户端库&#xff0c;专门用于发送 HTTP 请求、处理 HTTP 响应并支持各种 HTTP 协议特性。 以下是对 HttpClient5 的详细介绍&#xff1a…

部署Qwen2.5-7b大模型详解

部署Qwen2.5-7b大模型详解 本文参考教程&#xff1a;https://qwen.readthedocs.io/en/latest/getting_started/quickstart.html 下载模型 https://modelscope.cn/organization/qwen 搜索 qwen2.5-7b 可以看到它提供了六个模型&#xff0c;以满足不同的需求&#xff0c;从下…

深度学习的全面解析

深度学习的全面解析 深度学习,作为人工智能领域的一项革命性技术,正在引领着数据科学的新时代。对于很多人来说,它可能依然是个陌生的概念,但想象一下,你的手中握着一把钥匙,这把钥匙可以打开无数扇大门,让你进入一个充满智慧的世界。今天,我们将一同探索深度学习的定…

【RoadRunner】自动驾驶模拟3D场景构建 | 软件简介与视角控制

&#x1f4af; 欢迎光临清流君的博客小天地&#xff0c;这里是我分享技术与心得的温馨角落 &#x1f4af; &#x1f525; 个人主页:【清流君】&#x1f525; &#x1f4da; 系列专栏: 运动控制 | 决策规划 | 机器人数值优化 &#x1f4da; &#x1f31f;始终保持好奇心&…

【MATLAB代码,带TDOA数据导入】TDOA三维空间的位置(1主锚点、3副锚点),多个时间点、输出位置的坐标

TDOA介绍 TDOA&#xff08;到达时间差&#xff09;是一种用于定位和跟踪信号源的技术&#xff0c;常用于无线通信、导航和雷达系统。它通过测量信号到达不同接收器的时间差&#xff0c;来计算信号源的位置。 基本原理 TDOA的基本原理是利用多个接收器&#xff08;或锚点&…