linux
datart更新到jdk17及springboot2.7.4版本执行调整
星期日, 十月 16th, 2022 | JAVA-and-J2EE, linux | 没有评论
datart简介:
新一代数据可视化开放平台,支持报表、仪表板、大屏、分析和可视化数据应用的敏捷构建
对应文档地址:https://running-elephant.gitee.io/datart-docs/docs/
GIT地址:https://gitee.com/running-elephant/datart/releases
https://github.com/running-elephant/datart/releases
当前使用版本 datart-1.0.0-rc.1,即此刻master版本
尝试使用jdk17进行编译,使用SpringBoot2.7.4进行parent迁移,修改如下可以比较完美的升级过来.
1.更换 swagger版本,移除springfox相关maven
<dependency> <groupid>io.springfox</groupid> <artifactid>springfox-boot-starter</artifactid> <version>3.0.0</version> </dependency> |
2.引入nashorn的maven,在jdk17中已经移除
<dependency>> <groupid>org.openjdk.nashorn</groupid> <artifactid>nashorn-core</artifactid> <version>15.4</version> </dependency> |
3.BaseService 启动延迟加载accessLogService服务类
@Autowired public void setAccessLogService(@Lazy AsyncAccessLogService accessLogService) { this.accessLogService = accessLogService; } |
4.更改引用包
import org.openjdk.nashorn.internal.parser.TokenType; import org.openjdk.nashorn.api.scripting.NashornScriptEngineFactory; import org.apache.calcite.sql.parser.impl.SqlParserImpl; |
5.更换路由匹配模式
spring.mvc.pathmatch.matching-strategy=ant_path_matcher |
Nginx解决http host头攻击及Method漏洞
星期一, 十月 10th, 2022 | computer, JAVA-and-J2EE, linux | 没有评论
一、HTTP Host头攻击漏洞解决
检测应用是否在请求目标站点时返回的URL是直接将Host头拼接在URI前。
解决方法:验证host
server { listen 80; server_name 127.0.0.1 192。168.1.8 xxx.com; if ($http_Host !~* ^192.168.1.8|127.0.0.1|xx.com$) { return 403; } } |
二、 HTTP Method非POST和GET方式击漏洞解决
尽量用get和post的api的应用,禁用OPTIONS
解决方案:在nginx的server中配置,只允许GET、POST、PUT、DELETE 类型请求通过,其余不安全的请求方式返回403状态码,代码如下。
if ($request_method !~* GET|POST|PUT|DELETE) { return 403; } |
解决yum安装docker慢,更换阿里源
星期五, 九月 16th, 2022 | JAVA-and-J2EE, linux | 没有评论
1、yum install -y yum-utils 2、yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 3、yum install docker-ce |
设置系统及myslq时区信息,避免程序时间不配置
星期五, 七月 29th, 2022 | JAVA-and-J2EE, linux | 没有评论
起因程序用了 date 做查询判断,因系统及mysql不一致,导致插入到数据库的时间和系统时间有差距
造成查询失误,重复插入的问题,故需要调成一致即可.
timedatectl set-timezone "America/New_York" ##在[mysqld]区域中加上 vim /etc/my.cnf default-time_zone = '-4:00' ###或者## default-time_zone = 'America/New_York' #/etc/init.d/mysqld restart ##重启mysql使新时区生效 |
关于如何解决mysql库名大写导致大小写敏感参数报错的问题
星期一, 七月 25th, 2022 | linux | 没有评论
网上很多都是说明mysql表大小写参数的控制,如果库名是大写,调整此参数会造成找不到数据库,切记.
调整方法:调整成敏感,再都转换成小写部分.
lower_case_table_names
表示表名是否大小写敏感,可以修改。
lower_case_table_names = 0时,mysql会根据表名直接操作,大小写敏感。
lower_case_table_names = 1时,mysql会先把表名转为小写,再执行操作。
注意此处有一个大问题
当设置了大小写不敏感的时候。。。此时库名是大写的。。。会产生找不到库的错误
这是因为 设置大小写不敏感 mysql去找库的时候 就会变成小写的名字去找。。。
然而 此时 数据目录中 数据库目录 还是大写的。。此时就报错了。。。
zip命令行加解密文件夹及文件
星期五, 七月 22nd, 2022 | computer, linux | 没有评论
不加密:
zip -r t.zip t |
加密:
zip -r -P'密码' t.zip t |
解密(不论是否加密都一样)
unzip t.zip |
如果是加密文件,之后会输入密码,当然也可以一步到位:
unzip -P'密码' t.zip |
Java 开发常用的 Linux命令比较全
星期三, 四月 27th, 2022 | JAVA-and-J2EE, linux | 没有评论
Linux关机,重启
# 关机 shutdown -h now #或者 init 0 # 重启 shutdown -r now #或者 更常用 reboot |
查看系统,CPU信息
# 查看系统内核信息 uname -a # 查看系统内核版本 cat /proc/version # 查看当前用户环境变量 env cat /proc/cpuinfo # 查看有几个逻辑cpu, 包括cpu型号 cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c # 查看有几颗cpu,每颗分别是几核 cat /proc/cpuinfo | grep physical | uniq -c # 查看当前CPU运行在32bit还是64bit模式下, 如果是运行在32bit下也不代表CPU不支持64bit getconf LONG_BIT # 结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l |
建立软连接
ln -s /usr/local/jdk1.8/ jdk |
rpm相关
# 查看是否通过rpm安装了该软件 rpm -qa | grep 软件名 |
切换阿里云Maven的仓库提升编译速度
星期六, 一月 8th, 2022 | JAVA-and-J2EE, linux | 没有评论
1.更多配置可以可以参考阿里云云效 Maven https://developer.aliyun.com/mvn/guide
2.通常配置如下:修改Maven的settings.xml文件
<mirrors> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>https://maven.aliyun.com/repository/public/</url> </mirror> </mirrors> |
2.或者直接在pom.xml文件中更换
<repositories> <repository> <id>alimaven</id> <name>aliyun maven</name> <url>https://maven.aliyun.com/repository/public</url> </repository> </repositories> |
centos7安装docker和docker compose快速指引
星期三, 十二月 1st, 2021 | JAVA-and-J2EE, linux | 没有评论
1. 安装之前,先清除之前安装的旧版本docker
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine |
2. 使用 repository 安装 docker ce
##安装基础依赖包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 不建议// sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ## 官方给出的源,国内比较慢,可以用阿里源替代 ## 阿里源,国内速度优先 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo ## 如果想安装指定版本的docker-ce,可以先用命令查看版本号 sudo yum list docker-ce --showduplicates | sort -r ## 直接运行会默认安装最新版 sudo yum install docker-ce ## 安装指定版本,例如:yum install docker-ce-20.10.11 sudo yum install docker-ce-<version STRING> ###创建配置信息 sudo mkdir /etc/docker sudo cat > /etc/docker/daemon.json <<eof { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ] } EOF |
3. 安装 docker-compose不使用pip安装,直接用编译好的
curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose |
上面安装的是稳定版本1.29.2的 docker-compose,可以到github上找最新版 https://github.com/docker/compose/releases
配置docker-compose命令关联
› Continue reading
spring.config.location启动的参数不互补可以使用spring.config.additional-location
星期六, 十一月 27th, 2021 | JAVA-and-J2EE, linux | 没有评论
0.先说下springboot版本为2.5.7,location的会优先使用不再使用打包文件中的配置文件
详情见官方文档:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#features.external-config.files
解决办法是:
java -jar -Dspring.config.location=/apps/config/app.properties /app/serverless/app.jar & ###替换一下即可 java -jar -Dspring.config.additional-location=/apps/config/app.properties /app/serverless/app.jar & |
1.起因需要给应用加上build time和version对应的版本号
这些参数可以在mvn的时候直接生成出来,但是在配置文件中将无法配置
先把这个做下记录
2.在pom.xml文件的properties中添加如下内容
<properties> <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format> <!--maven.build.timestamp保存了maven编译时间戳--> <timestamp>${maven.build.timestamp}</timestamp> </properties> ### 在pom.xml的build中添加如下内容,使properties能取到pom.xml中的数据 <resources> <resource> <directory>src/main/resources/</directory> <filtering>true</filtering> </resource> </resources> |
3.在springboot的配置文件中新增
app.name=pomelo app.build_time=@timestamp@ app.version=@project.version@ |
4.在spring 应用中使用即可获取打包时间及版本代码如下:
› Continue reading
Search
相关文章
热门文章
最新文章
文章分类
- ajax (10)
- algorithm-learn (2)
- Android (6)
- as (3)
- computer (63)
- Database (30)
- disucz (4)
- enterprise (1)
- erlang (2)
- flash (5)
- golang (3)
- html5 (18)
- ios (4)
- JAVA-and-J2EE (181)
- linux (139)
- mac (10)
- movie-music (11)
- pagemaker (36)
- php (50)
- spring-boot (2)
- Synology群晖 (2)
- Uncategorized (6)
- unity (1)
- webgame (15)
- wordpress (33)
- work-other (2)
- 体味生活 (40)
- 前端 (2)
- 大数据 (8)
- 游戏开发 (9)
- 爱上海 (19)
- 读书 (4)
- 软件 (3)