nginx的worker_processes和worker_connections

worker_processes:操作系统启动多少个工作进程运行Nginx注意是工作进程,不是有多少个nginx工程。在Nginx运行的时候,会启动两种进程,一种是主进程master process;一种是工作进程worker process。例如我在配置文件中将worker_processes设置为4.图中可以看到1个nginx主进程,master process;还有四个工作进程,worker process。主进程负责监控端口,协调工作进程的工作状态,分配工作任务,工作进程负责进行任务处理。一
分类: 其他 发布时间: 03-03 08:55 阅读次数: 0

nginx的keepalive和keepalive_requests

当使用nginx作为反向代理时,为了支持长连接,需要做到两点:从client到nginx的连接是长连接从nginx到server的连接是长连接保持和client的长连接:http { keepalive_timeout 120s 120s; keepalive_requests 10000;}keepalive_timeout#语法keepalive_timeout timeout [header_timeout];第一个参数:设置keep-alive客户端连接
分类: 其他 发布时间: 03-03 08:54 阅读次数: 0

ajax的post请求提交的数据在后端无法用request.getParameter获取的原因分析

前台JS请求代码demo注意下方http请求的content-type是application/jsonvar _phoneId = "123456789";var closeUrl=contextPath+"/close";ajax(closeUrl,{"phoneId":_phoneId},"post",false,callbackForSessionClose,null,'json');function ajax(url,reqData,type,async,successBack,e
分类: 其他 发布时间: 03-03 08:54 阅读次数: 0

tcp的KeepAlive与http的Keep-Alive以及Nginx的TCP KeepAlive

为什么要有KeepAlive在谈KeepAlive之前,我们先来了解下简单TCP知识(知识很简单,高手直接忽略)。首先要明确的是在TCP层是没有“请求”一说的,经常听到在TCP层发送一个请求,这种说法是错误的。TCP是一种通信的方式,“请求”一词是事务上的概念,HTTP协议是一种事务协议,如果说发送一个HTTP请求,这种说法就没有问题。也经常听到面试官反馈有些面试运维的同学,基本的TCP三次握手的概念不清楚,面试官问TCP是如何建立链接,面试者上来就说,假如我是客户端我发送一个请求给服务端,服务端发送一个
分类: 其他 发布时间: 03-03 08:54 阅读次数: 0

html中子div相对父div居中,div直角变圆角

采用百分比父元素添加css:.ui-menubar{  Width:100%;  text-align:center;}子元素mbody添加css:.mbody{  display:inline-block;  zoom:1;   vertical-align:middle;}如果子div宽度确定可以采用以下方法居中div{  margin-left:auto;  margin-right:auto;}...
分类: 其他 发布时间: 03-03 08:54 阅读次数: 0

java从数据库读取表结构生成实体类

亲测可用,但是其中生成几张表对应的实体,有些表的字段类型没写进去的需要自己补充,要不要生成get,set方法可以自己看着改改package com.springdemo.getEntityFromMysql;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;import java.sql.Connection;import java.sql.D
分类: 其他 发布时间: 03-03 08:53 阅读次数: 0

mysql中的行转列

行转列行转列一般通过CASE WHEN 语句来实现我们首先先通过一个老生常谈的例子,学生成绩表(下面简化了些)来形象了解下行转列CREATE TABLE [StudentScores]( [UserName] NVARCHAR(20), --学生姓名 [Subject] NVARCHAR(30), --科目 [Score] FLOAT, --成绩) INSER
分类: 其他 发布时间: 03-03 08:53 阅读次数: 0

js判断对象是否有该属性;js从数组中的对象取出特定字段并生成新的数组;js获取table表格中的数据,js让table中的单元格变色,阻止JS事件穿透

hasOwnProperty判断对象是否有该属性类似java中List.contain(‘xxx’)var obj = { xxx: xxx}if(obj.hasOwnProperty('xxx')){ //返回true/false console.log('有这个属性')}js从数组中的对象取出特定字段并生成新的数组var arr = [ { 'id': '1', 'name': 'img1', 'imgUrl': './img1.jpg', },
分类: 其他 发布时间: 03-03 08:53 阅读次数: 0

js阻止冒泡;阻止JS事件穿透

js阻止冒泡;阻止JS事件穿透js阻止冒泡<html><title></title><head> <meta charset="utf-8"> <style type="text/css"> .divone{width:100px;height:100px;background:black;position: relative;cursor: pointer} .divchild{
分类: 其他 发布时间: 03-03 08:53 阅读次数: 0

java保留两位小数4种方法;BigDecimal的ROUND_HALF_UP与ROUND_HALF_DOWN

方法一:String的format方法(推荐)double f = 111231.5585;System.out.println(String.format("%.2f", f));方法二:DecimalFormat的format方法double f = 111231.5585;DecimalFormat df = new DecimalFormat("#.00");System.out.println(df.format(f));方法三:BigDecimal的setScale方法d
分类: 其他 发布时间: 03-03 08:52 阅读次数: 0

html之flex伸缩盒子

flex伸缩盒子利用flex伸缩盒子可以把父级下的div的换行去掉,排列在一行中demo来自微信小程序先将父级div定义成伸缩盒子,然后子级每份占据1份父类空间
分类: 其他 发布时间: 03-03 08:52 阅读次数: 0

js筛选数组中的元素;js将元素插入第一个位置;js数组寻找下标findIndex;js的splice方法用于添加或删除数组中的元素

js筛选数组中的元素demo中就是将不等于1的元素筛选出来,返回一个新的数组//将数组中为1的数据删除生成新数组let simpleArr = list.filter((item, i) => { return item != 1;})js将元素插入第一个位置,类似进栈/出栈你不仅可以 shift(移出)数组中的第一个元素,你也可以 unshift(移入)一个元素到数组的头部。.unshift() 函数用起来就像 .push() 函数一样, 但不是在数组的末尾添加元素,而是在数组的头
分类: 其他 发布时间: 03-03 08:52 阅读次数: 0

java实体类序列化和反序列化的时候时间字段格式化@DateTimeFormat和@JsonFormat

入参格式化(比如前段请求的时候传了一个json字符串,controller处使用实体类接收)此时会发生一次json字符串的反序列化,如果碰巧json字符串中有时间字符串存在,那么在反序列化的时候可能会报错这时,就可以使用 Spring 的 @DateTimeFormat 注解格式化参数,来解决上述问题。import org.springframework.format.annotation.DateTimeFormatpublic class DateVo { @DateTimeForma
分类: 其他 发布时间: 03-03 08:52 阅读次数: 0

根据经纬度在layui弹出层中显示百度地图

先上效果图实现js代码首选要引入layui,这个大家可以到layui官网看看怎么引入layer附上layui官网urlhttps://www.layui.com/doc/注意:这里要提示一点content中内容里的div一定要给一个宽高,不然地图是加载不出来的return layer.open({ type: 1, title: false, closeBtn: false, area: '500px',
分类: 其他 发布时间: 03-03 08:51 阅读次数: 0

SpringBoot的Async异步注解及自定义其线程池

开启异步注解(使其生效)使用@Async注解的时候需要配合@EnableAsync(开启异步注解)可以在application启动类中使用,使其全局生效,也可以仅仅在当前使用@Async注解的类上使用这个注解demo@SpringBootApplication@EnableAsyncpublic class ClubApiApplication { public static void main(String[] args) { SpringApplication.run
分类: 其他 发布时间: 03-03 08:51 阅读次数: 0

springBoot的event事件发布/监听

先定义一个Event父类package com.felix.event;import org.springframework.context.ApplicationEvent;public class BaseEvent extends ApplicationEvent { public BaseEvent(Object source) { super(source); }}自定义的Event类继承BaseEvent父类package com.felix
分类: 其他 发布时间: 03-03 08:51 阅读次数: 0

linux使用dd测试磁盘的io速度/复制文件(可以压缩)

Linux ddLinux dd 命令用于读取、转换并输出数据。dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。我们可以利用 dd 命令的复制功能,测试某个磁盘的 IO 性能,须要注意的是 dd 命令只能大致测出磁盘的 IO 性能,不是非常准确。在类Unix系统中,/dev/null,或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),可以理解为linux中的黑洞文件.在类UNIX 操作系统中, /dev/zero 是一个特
分类: 其他 发布时间: 03-03 08:51 阅读次数: 0

linux使用vi/vim进行多行注释;取消多行注释

进入vi/vim编辑器,按CTRL+V进入可视化模式(VISUAL BLOCK)移动光标上移或者下移,选中多行的开头,如下图所示选择完毕后,按大写的的I键,此时下方会提示进入“insert”模式,输入你要插入的注释符,例如注释符号#最后按ESC键,你就会发现多行代码已经被注释了去掉多行注释vi/vim进入命令行模式,按ctrl + v进入visual block模式,按小写字母l横向选中列的个数,例如 // 需要选中2列按小写字母j,或者k选中注释符号按d键就可全部取消注释..
分类: 其他 发布时间: 03-03 08:50 阅读次数: 0

nginx监听443配置https证书

解压缩下载好的证书(证书一般是pem文件和key文件,这里名字可以随便改)将下载好的证书上上传到服务器,我将证书放在了home/ubuntu/cert文件夹中,可以写全路径http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { #监听443端口 listen 443;
分类: 其他 发布时间: 03-03 08:50 阅读次数: 0

springboot下Redission实现redis分布式锁

直接使用redisson实现分布式锁加锁原理线程一去获取锁,获取成功,执行lua脚本,保存数据到redis数据库。线程二去获取锁,获取失败,一直通过while循环尝试获取锁。获取成功后,执行lua脚本,保存数据到redis数据库。Watch dog所起到的作用就是当锁的有效时间要到了当业务逻辑却还没有执行完成时,延长锁的有效时间。注:正常这个看门狗线程是不启动的,还有就是这个看门狗启动后对整体性能也会有一定影响,所以不建议开启看门狗。将复杂的业务逻辑封装在lua脚本中发送给redis,且re
分类: 其他 发布时间: 03-03 08:50 阅读次数: 0