Vmware虚拟机设置固定IP地址 有更新!

2019-07-04

输入如下命令:
网卡的名字可能不一致

vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
IPADDR="192.168.11.159"
NETMASK="255.255.255.0"
GATEWAY="192.168.11.2"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="9caee844-2589-4844-bfe1-fef284295def"
DEVICE="ens33"
ONBOOT="yes"

Error parsing HTTP request header异常探寻 有更新!

2019-05-29

  Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

原因:

SpringBoot 2.0.0 以上都采用内置tomcat8.0以上版本,而tomcat8.0以上版本遵从RFC规范添加了对Url的特殊字符的限制,url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~四个特殊字符以及保留字符( ! * ’ ( ) ; : @ & = + $ , / ? # [ ] ) (26*2+10+4+18=84)这84个字符,请求中出现了{}大括号或者[],所以tomcat报错。设置RelaxedQueryChars允许此字符(建议),设置requestTargetAllows选项(Tomcat 8.5中不推荐)。您可以降级为旧版本之一(不推荐-安全性)。根据 https://tomcat.apache.org/tomcat-8.5-doc/config/systemprops.html, requestTargetAllowis设置允许不受欢迎字符。对我来说,这里提出的其他解决办法也不起作用。根据Tomcat文档,我找到了一种方法来设置松弛的QueryChars属性

前后端跨域问题解决 (二) 有更新!

2019-05-29

大部分接口都正常的解决了跨域问题,但是有些响应我是直接在response中返回的

对于这些请求前端发生了跨域异常

因为前端设置了

crossDomain: true, 
xhrFields: {
  withCredentials: true
}

携带这样可以在请求中携带cookie但是要求后端返回的Access-Control-Allow-Origin不能为'*',必须为请求的域名,所以,我在responseutils里面进行了优化

MYSQL5.7版本sql_mode=only_full_group_by问题

2019-04-29

1、查看sql_mode

select @@global.sql_mode

查询出来的值为:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

2、去掉ONLY_FULL_GROUP_BY,重新设置值。

set @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

基于 Docker 中的 MongoDB Auth 使用

2019-04-29

MongoDB 的授权访问

直接上 yml 代码:

version: '2'
services:
  mongo-container:
    image: mongo:3.4
    environment:
        # 在这里输入 MongoDB 的 root 用户与密码,如果使用了此项,则不需要 --auth 参数
        - MONGO_INITDB_ROOT_USERNAME=root
        - MONGO_INITDB_ROOT_PASSWORD=rootPass
    ports:
      - "37017:27017"
    volumes:
        # 如果想为特定的数据库创建相应的用户,可以将以下文件映射到容器中,其中创建用户的脚本文件会在下一段代码中
      - "$PWD/mongo-entrypoint/:/docker-entrypoint-initdb.d/"
    command: mongod 

docker rancher搭建

2019-04-29

创建rancher容器

  • 运行rancher容器
    mysql机器IP:mysql容器所在的机器IP

    docker run -d --name rancher --link=mysqldb:db \
    --restart=unless-stopped -p 8080:8080 -p 9345:9345 rancher/server:latest \
    --db-host db --db-port 3306 --db-user cattle --db-pass cattle --db-name cattle \
    --advertise-address mysql机器IP 
    

centos6 yum方式升级内核 有更新!

2019-03-13
0 评论 288 浏览

升级内核需要使用elrepo的yum源,在安装yum源之前还需要我们导入elrepo的key,如下:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

elrepo的key安装完毕后,我们下面开始正式升级内核。

持续集成与容器管理 有更新!

2019-03-09

持续集成与容器管理

学习目标:

  • 掌握DockerMaven插件的使用
  • 掌握持续集成工具Jenkins的安装与使用
  • 掌握容器管理工具Rancher的安装与使用
  • 掌握时间序列数据库influxDB的安装与使用
  • 掌握容器监控工具cAdvisor的安装与使用
  • 掌握图表工具Grafana的使用

monogo快速学习入门和python的使用

2019-02-20

mongdb的优势:

  • 易扩展: NoSQL数据库种类繁多, 但是⼀个共同的特点都是去掉关系数据库的关系型特性。 数据之间⽆关系, 这样就⾮常容易扩展
  • ⼤数据量, ⾼性能: NoSQL数据库都具有⾮常⾼的读写性能, 尤其在⼤数据量下, 同样表现优秀。 这得益于它的⽆关系性, 数据库的结构简单
  • 灵活的数据模型: NoSQL⽆需事先为要存储的数据建⽴字段, 随时可以存储⾃定义的数据格式。 ⽽在关系数据库⾥, 增删字段是⼀件⾮常麻烦的事情。 如果是⾮常⼤数据量的表, 增加字段简直就是⼀个噩梦

The temporary upload location [/tmp/tomcat.1337767218595042057.80/work/Tomcat/localhost/ROOT] is no

2019-02-15

原因:

在linux系统中,springboot应用服务再启动(java -jar 命令启动服务)的时候,会在操作系统的/tmp目录下生成一个tomcat*的文件目录,上传的文件先要转换成临时文件保存在这个文件夹下面。由于临时/tmp目录下的文件,在长时间(10天)没有使用的情况下,就会被系统机制自动删除掉。所以如果系统长时间无人问津的话,就可能导致上面这个问题。

临时解决方法:

手动在/tmp下创建相应得文件夹

解决办法:

在 yml配置文件 中添加:

server.tomcat.basedir: /data/apps/temp  

手动的将临时文件夹设置为自定义的文件夹,就不会被Linux删除了。

如何设置mac的端口映射转发 有更新!

2019-01-31
0 评论 580 浏览

前言:

在mac os中,非root用户是无法使用小于1024的常用端口的。如果开发中需要用到80端口, 就要设置端口转发。

hosts文件介绍

  1. hosts文件是将域名和IP地址建立映射关系的系统文件,用户可以自定义常用域名跟IP,当在浏览器上输入网址时,系统会优先从hosts文件找到相应的IP地址,打开相应的网页。
  2. hosts文件的作用是域名解析,构建映射关系,屏蔽垃圾网站。
  3. 为什么要修改hosts文件?
    在微信公众号开发时候,需要获取用户的微信信息,如果在微信开发者工具的地址栏填写localhost就获取不了,所以必须要填写审核通过的微信公众号域名。在这里,假设我的微信公众号域名为:https://test.cn 。本地启动了java项目,当你很高兴地在在微信开发者工具输入https://test.cn 时候,会注意到点击网页任意一个按钮,都不会触发到本地java项目的任何一个接口。原因好简单,因为默认hosts文件中,域名localhost 映射的是 127.0.0.1 ip地址。因此,需要把localhost 映射为https://test.cn。

centos下如何使用sendmail发送邮件

2019-01-17

1、安装sendmail:

  1. centos下可以安装命令:yum -y install sendmail

  2. 安装完后启动sendmail命令:service sendmail start

2、安装mail

安装命令:yum install -y mailx

二、发送邮件

1、通过文件内容发送

发送命令:mail -s 'mail test' xxx@yyy.com < con.txt ("mail test"为邮件主题,xxx@yyy.com为收件人邮箱,con.txt保存邮件内容)

2、通过管道符直接发送

发送命令:echo "this is my test mail" | mail -s 'mail test' xxx@yyy.com