Home

OpenResty在Docker下的安装

OpenResty安装 mkdir -p /mnt/openresty/{conf,html,logs} docker pull openresty/openresty docker run --name openResty -p 80:80 -d openresty/openresty docker cp openResty:/usr/local/openresty/nginx/conf/nginx.conf /mnt/openresty/conf/nginx.conf docker cp openResty:/etc/nginx/conf.d/default.conf /mnt/openresty/conf/default.conf docker stop openRest...

Read more

Spring Boot项目启动命令参数

启动命令 基础启动命令 java -jar /opt/languageTrainer/LanguageTrainer.jar 指定Spring Boot profile java -jar /opt/languageTrainer/LanguageTrainer.jar --spring.profiles.active=prod 指定系统属性 java -Dfile.encoding=UTF-8 -jar /opt/languageTrainer/LanguageTrainer.jar 指定非标准选项 java -jar -Xmx512m -Xms256m /opt/languageTrainer/LanguageTrainer.jar 不间断运行 nohu...

Read more

Nacos使用

安装并启动 Nacos在Docker下安装 服务注册与发现 项目为一个Spring Cloud项目 Spring Cloud项目起步配置 <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> application.yml spring: cloud: nacos: discovery: server-addr: 19...

Read more

Nacos在Docker下安装

准备数据库 执行初始化脚本 https://github.com/alibaba/nacos/blob/master/distribution/conf/mysql-schema.sql 集群模式启动 Nacos版本2.2.0,外部数据库使用MySQL 5.7 docker run -p 8848:8848 -p 9848:9848 --name nacos \ --restart always \ -v /etc/timezone:/etc/timezone:ro \ -v /etc/localtime:/etc/localtime:ro \ --env MODE=cluster \ --env NACOS_AUTH_ENABLE=true \ --env NACOS_SE...

Read more

Spring Cloud Gateway验证JWT

无需验证的URI集合配置 application.yml doubucket: authentication: permitUri: - /users/getToken 定义全局filter @Component @AllArgsConstructor public class AuthenticationFilter implements GlobalFilter, Ordered { private final AuthenticationProperties authenticationProperties; private final DoubucketJwtUtils doubucketJ...

Read more

Spring Security实现基于JWT的单点登录

Maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> </dependency> 0.9.1版本之后,对jjwt的引入...

Read more

Java Web Token简述

Json Web Token信息组成 Java Web Token信息由三部分组成,分别是 Header,描述token的类型,摘要算法等,JSON格式 Payload,描述token认证相关的一些主要信息,JSON格式 Verify Signature,token的摘要信息,用于检查token的合法性 例子 Header { "alg": "HS256", "typ": "JWT" } Payload { "sub": "1234567890", "name": "John Doe", "iat": 1516239022 } Verify Signature 这里通过伪代码表示,HMACSHA256表示摘要生成算法,base6...

Read more

Java线程池使用

本文源码基于JDK8 Java原生线程池 Java原生线程池核心类为java.util.concurrent.ThreadPoolExecutor 构造方法 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ...

Read more

ConcurrentHashMap实现id范围锁

单次获取 public class Test() { private final ConcurrentHashMap<Integer, Boolean> concurrentHashMap = new ConcurrentHashMap<>(); public void doSomethingWithLock() { Integer id = 1; if (concurrentHashMap.putIfAbsent(id, Boolean.TRUE) == null) { // 获取锁成功 try { // 操作与id为1的相关数据...

Read more

Kibana在Docker下安装

下载Kibana镜像 docker pull kibana:7.17.9 复制默认配置 mkdir -p /opt/volume/kibana/config docker run --name kibana --rm -d kibana:7.17.9 docker cp kibana:/usr/share/kibana/config /opt/volume/kibana docker stop kibana 修改配置 /opt/volume/kibana/config/kibana.yml server.host: "0.0.0.0" server.shutdownTimeout: "5s" elasticsearch.hosts: [ "http://192.16...

Read more