部署dify1.2.0页面报错Internal Server Error问题表现部署完成Dify以后打开页面,登陆成功后发现右上角出现报错:
F12打开控制台,刷新页面,发现控制台包报错:
解决方案
先停止dify
1docker-compose down
修改配置文件.env
由
12PLUGIN_S3_USE_AWS_MANAGED_IAM=PLUGIN_S3_USE_PATH_STYLE=
修改为:
12PLUGIN_S3_USE_AWS_MANAGED_IAM=falsePLUGIN_S3_USE_PATH_STYLE=false
重新启动即可
1docker-compose up -d
效果如下:
技术分享
未读宿主机与虚拟器之间的代理背景由于公司vpn使用时,需要强制安装360杀毒,我不想装在宿主机中,所以研究了一下虚拟机中使用vpn连接公司网络,宿主机使用虚拟机中的代理,进而宿主机中也可以使用公司网络。
准备工具
EasyConnect VPN连接工具(非必须,我们公司使用的是这个)
Vmware虚拟机(必须,其他虚拟机也可)
Proxifier代理工具(非必须)
ccproxy 正向代理工具(必须,其他正代工具也可)
思路说明主要思路是(按照宿主机使用虚拟机中的代理为例 ):虚拟机中连接vpn –> 虚拟机中开启正向代理,把虚拟机弄成代理服务器 –> 宿主机使用Proxifier或者系统自带代理功能,连接虚拟机的代理服务器即可。
虚拟机网络设置
虚拟机网络模式 你可以选择NAT模式 或者桥接模式 ,但是这两种还是有区别的
NAT模式:按道理来说,通过NAT模式搭建网络的虚拟机,宿主机和虚拟机不在同一网段,只能虚拟机ping通宿主机,而宿主机无法ping通虚拟机的,所有理论上来讲需要通过虚拟机的端口映射 功能才能正常使用的。但是 ,通过实测发现,是直接可以互相ping通的可以 ...
存在问题今天在使用 mybatis 处理动态 sql (PostgreSQL 数据库)的时候遇到了一个问题:sql语句中本身包含 ? 的时候 mybatis 解析参数会把 sql语句中的 ?当作占位符 给解析成变量 导致sql查询失败案例如下:我这里存储的是jsonb类型数据 大概如下:
1234567{ "str": "param", "arr": [ "param1", "param2" ]}
我的需求是:想要获取json列的数据中数组arr中包含param1的数据 得到的sql如下:
123SELECT *FROM your_tableWHERE tags->'arr' ?| ARRAY['paam1'];
这个sql在我们的sql连接器中执行是完全没问题的,但是在mybatis中使用这个sql的时候?|中的?会被mybatis当作占位符 替换成参数例子如下:
1234/ ...
自学之路
未读JVM入门到实战(一)文章介绍本篇文章是整理自学的知识点进行记录,我自学的课程是黑马程序员的JVM课程。想学习的话可自行到课程学习。
JVM介绍
JVM 本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件。
你编写的Java代码,经过编译后产生.class的字节码文件(包含字节码指令),然后再JVM上运行,由JVM解释成机器语码交给计算机执行
JVM的功能:
解释和运行: 对字节码文件中的指令, 实时的解释成机器码, 让计算机执行
内存管理: 自动为对象、方法等分配内存,自动垃圾回收机制回收不再使用的对象
即时编译:热点代码有的优化,提升效率(主要是为了支持跨平台特性)
JVM的组成:类加载器、运行时数据区域、执行引擎
字节码文件介绍字节码文件的组成
基本信息:包括魔数(CAFEBABE)、字节码文件的版本号(1.8对应51)、访问标识符、父类、接口等
常量池: 包括字符串常量、类和接口名、字段名主要在字节码指令中使用
字段:当前类或接口的字段信息
方法:当前类或接口声明的方法信息字节码指令
属性:类的属性,比如源码的文件名内 ...
内网穿透入门使用简单介绍
什么是内网穿透:
首先我们对内网和外网这两个名词做个解释:
1、内网:是内部建立的局域网络或办公网络;
2、外网:是通过一个网关或网桥与其他网络系统连接,相对于自己的内网来说,其他网络系统称为外网。
内网穿透简单来说就是将内网外网通过隧道打通,让内网的数据让外网可以获取。比如常用的办公室软件等,一般在办公室应用,通过拨号上网,没有公网IP,这样办公软件只有在办公室本地的局域网之内才能访问,用了内网穿透方案后,这些基于内网访问的办公室软件就可以在外网家里访问了。
如果不了解内网,公网这些概念的话,我感觉这篇文章也是看不懂,可以看看别人的文章先:内网、网关、公网IP的关系, 一文读懂内网、公网和NAT。
穿透工具推荐这里推荐两款我自己用的:frp和natapp。
frp:
使用本款软件的话你需要本身有一台拥有公网ip的服务器才可以使用,因为这个软件要借助你自己的公网ip打通隧道将你内网的端口代理出去。可以用来打造堡垒机,跳板机等。
natapp:
这款白嫖党狂喜,因为有免费的额度,同时也不需要自己拥有服务器也可以使用,适合白嫖党。当然免费版功能上肯定是稍微拉 ...
Java跨Docker容器备份数据库数据前置背景
在我们的开发部署场景中,通常多数使用Docker进行部署。当你的数据库和项目都使用Docker进行部署,此时我想要通过Java程序进行数据备份,那么就无法实现,因为是两个相互独立的容器。
在本篇文章中,我提供我的解决方法仅供参考。
思路整理
因为你的两个Docker容器是相互独立的,你的Java容器要操作MySQL,所以你的Java容器要具备可以执行MySQL命令的能力
但是,MySQL和Java是隔离的,无法直接使用MySQL命令备份,所以就想到使用docker的exec命令去操作MySQL容器让他备份。
备份完事以后,备份的文件还在MySQL容器中,宿主机也看不到想要的备份的SQL脚本,所以MySQL容器要挂载数据卷,把备份的SQL脚本备份出来。
编写备份脚本本脚本我是从别人那里拿的,根据自己的需求修改即可
123456789101112131415161718192021222324252627282930313233#!/bin/bash#备份路径BACKUP=/backups/mysql#当前时间DATETIME=$(da ...
使用Docker部署Jenkins技术支持在本篇文章中需要用到的软件支持如下:
Docker:标题上有说使用Docker部署,所以Docker必然不可缺少,没有了解的话,可以看下博客中的Docker那篇文章,你的服务器上没有安装Docker的话是无法进行安装Jenkins操作的。
Maven:这个是部署Java项目所需要的,如果你要部署的项目不是,可以忽略。
JDK:这个是部署Java项目所需要的,如果你要部署的项目不是,可以忽略。
NodeJs:这个是部署前端项目所有需要的,如果你要部署的项目不是,可以忽略。我这里用的是nvm下载的nodejs,你们也可以选择直接下载nodejs。
拉取镜像首先打开DockerHub搜索你想要的镜像,这里直接搜索 Jenkins,这里打不开就上点魔法。
进入后,可以直接点击复制命令,然后到你的服务器拉取镜像即可。值得注意的是,现在的新版Jenkins已经不支持JDK8版本了,所以你可能要自行下载JDK的高版本,推荐 11 17 21的长期支持版本。
当然还有个更好的办法,可以直接选择携带JDK版本的镜像直接使用,这里我选择的是JDK7的版本。 ...
SpringCloud微服务之Docker篇介绍本片仅作使用手册查询时使用,想系统学习请移步SpringCloud之Docker篇。
初识Docker什么是Docker微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。
分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。
在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题
应用部署的环境问题大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题:
依赖关系复杂,容易出现兼容性问题
开发、测试、生产环境有差异
例如一个项目中,部署时需要依赖于node.js、Redis、RabbitMQ、MySQL等,这些服务部署时所需要的函数库、依赖项各不相同,甚至会有冲突。给部署带来了极大的困难。
Docker解决依赖兼容问题而Docker确巧妙的解决了这些问题,Docker是如何实现的呢?
Docker为了解决依赖的兼容问题的,采用了两个手段:
将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包
将每个应用放到一个隔离容器去运行,避免互相干扰
这样打包好的应用包 ...
技术分享
未读易班答题助手使用手册开发背景
易班主要用于马克思主义学院的考试答题使用,作为我们的成绩的一部分,每次做题可称为痛苦不堪,最初使用“学小易App”进行手动搜题,每次动辄几十道题目可谓痛苦,后来“学小易App”开启次数限制,每次搜几个还要看一分钟广告,后来出现其他的刷课,这个结果大家也是比较熟知,被举报后成绩作废,但是现在还要面临易班答题的问题,所以我写了这个简陋版的答题助手,提供给有需要的人
使用方法工具介绍
这个工具不是自动答题易班的考试,是自动帮你搜索题目并把搜索到的题目显示出来,你根据搜索到的题目回答你的考试问题即可。
理论上讲是不会被抓,因为本质是还是自己手动答题,只不过是帮助你省略了搜题的步骤,可以直接看到搜到的题
搜题来源来自“学小易”准确度比较高,有少许几道搜不到是正常的,很难做到100%正确率
使用须知
启动易班答题助手需要三个参数分别为:易班的Token 、易班的JSESSIOID 、Wx_Open_Id
其中 易班的两个参数很容易获得,Wx_Open_Id 需要抓包获得
这三个参数中Token 和 Wx_Open_Id 是固定不变的 第一次获取到后可以记录下来 ...