nginx开发参数调整

无论是看过的nginx有关书还是网上看到的有关nginx 配置说明的文章(http://wiki.nginx.org/EventsModule#worker_connections),无一例外,在讲到 worker_connections 和 max_clients这两个概念的关系时都一致的一笔带过,尤其是在讲到nginx作为反向代理时max_clients的计算时,都是想当然的贴出max_clients = worker_processes * worker_connections/4这个理论计算公式来。既然是理论公式,那么为什么要除以4呢?肯定是有原因的吧。我相信有些人是知道如何计算的,但是很多人都如我一样一眼扫过,真正等到别人或者自己问自己的时候就真的感觉是云里雾里,不知所以然了。
继续阅读nginx开发参数调整

Mysql5.7 设置utf8mb4字符

参数说明。
character-set-client-handshake
用来控制客户端声明使用字符集和服务端声明使用的字符集在不一致的情况下的兼容性,默认为 true。

character-set-client-handshake = false

# 设置为 False, 在客户端字符集和服务端字符集不同的时候将拒绝连接到服务端执行任何操作

character-set-client-handshake = true

# 设置为 True, 即使客户端字符集和服务端字符集不同, 也允许客户端连接

character-set-server
声明服务端的字符编码, 推荐使用utf8mb4 , 该字符虽然占用空间会比较大, 但是可以兼容 emoji 😈 表情的存储
继续阅读Mysql5.7 设置utf8mb4字符

使用docker镜像一行命令签发/续期免费ssl

letsencrypt 免费的ssl证书现在已经比较流行了,今天来使用docker环境一行命令签发/续期证书。
他自己的有多种方式验证服务器的合法性,也就是证明这台服务器是你的,你拥有他的操作权限。今天使用webroot的方式来验证,这个方式有一个好处就是不影响现有的服务器运行。
他的机制其实就是命令录入一个webroot,自动验证程序会在这个目录写入一个临时的文件,然后这个程序会从互联网外网通过你键入的域名来访问这个文件,比如[http://gbk.pw/.well-known/acme-challenge/BY91IegFTEq8MtM8nAGEwOvY2TSos_tM7E2fAOeGgF0:]。如果通过域名能访问到,也就代表着你有这台服务器有写入权限。当然这只是他的原理,使用起来可以不必关心这些。

继续阅读使用docker镜像一行命令签发/续期免费ssl

elk升级版-ek+beats套件安装

ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。

  • Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
  • Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
  • Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
  • 对于上面的elk套件,Logstash是可选的。现在官方在主要推行beats系统收集日志的组件 ,这些组件是基于go的,所以不需要java环境更加精简一些。这次就只安装ek环境,不再安装Logstash,对于数据的采集来源用beats套件,直接采集到ElasticSearch里面。
    继续阅读elk升级版-ek+beats套件安装

    Centos7安装docker-ce docker-compose

    安装依赖

    yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
    

    添加源

     yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    

    安装

    yum install docker-ce
    

    启用&启动

    systemctl enable docker
    systemctl daemon-reload
    systemctl start docker
    

    安装docker-compose

    curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    
    
    chmod +x /usr/local/bin/docker-compose
    

    添加国内镜像

    vi /etc/docker/daemon.json
    
    {
      "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
    }
    
    systemctl restart docker
    

    Centos6升级7

    今天来升级一个centos6.X 到 centos7
    先添加源

    vim /etc/yum.repos.d/upgrade.repo
    
    [upgrade]  
    name=upgrade  
    baseurl=http://dev.centos.org/centos/6/upg/x86_64/  
    enable=1  
    gpgcheck=0 
    

    网上的些文章会直接进行升级,遇到报错如下

    Assessment finished (time 05:57s)
    I/O warning : failed to load external entity "/usr/share/openscap/xsl/security-guide.xsl"
    compilation error: file /usr/share/preupgrade/xsl/preup.xsl line 40 element import
    xsl:import : unable to load /usr/share/openscap/xsl/security-guide.xsl
    I/O warning : failed to load external entity "/usr/share/openscap/xsl/oval-report.xsl"
    compilation error: file /usr/share/preupgrade/xsl/preup.xsl line 41 element import
    xsl:import : unable to load /usr/share/openscap/xsl/oval-report.xsl
    I/O warning : failed to load external entity "/usr/share/openscap/xsl/sce-report.xsl"
    compilation error: file /usr/share/preupgrade/xsl/preup.xsl line 42 element import
    xsl:import : unable to load /usr/share/openscap/xsl/sce-report.xsl
    OpenSCAP Error:: Could not parse XSLT file '/usr/share/preupgrade/xsl/preup.xsl' [oscapxml.c:416]
    Unable to open file /root/preupgrade/result.html
    Usage: preupg [options]
    
    preupg: error: [Errno 2] No such file or directory: '/root/preupgrade/result.html'
    

    解决方法,先执行下面命令

    yum erase openscap
    yum install http://dev.centos.org/centos/6/upg/x86_64/Packages/openscap-1.0.8-1.0.1.el6.centos.x86_64.rpm
    yum -y install redhat-upgrade-tool preupgrade-assistant-contents
    

    再进行升级。

    yum -y install preupgrade-assistant-contents redhat-upgrade-tool preupgrade-assistant 
    
    preupg -l
    preupg -s CentOS6_7
    

    这里官方源7最新版本,好像升级不成功,使用官方备份源的旧版本,然后执行升级!

    centos-upgrade-tool-cli --network 7 --instrepo=http://vault.centos.org/centos/7.2.1511/os/x86_64/
    

    接下来就是等着了

    Jenkins+Gitlab Webhook触发构建获取参数

    可以在Gitlab编辑webhook界面看到test请求的详情和返回输出。
    至于在jenkins的shell脚本中也可以取到这些变量。

    echo $gitlabSourceRepoURL
    echo $gitlabAfter
    echo $gitlabTargetBranch
    echo $gitlabSourceRepoHttpUrl
    echo $gitlabMergeRequestLastCommit
    echo $gitlabSourceRepoSshUrl
    echo $gitlabSourceRepoHomepage
    echo $gitlabBranch
    echo $gitlabSourceBranch
    echo $gitlabUserEmail
    echo $gitlabBefore
    echo $gitlabSourceRepoName
    echo $gitlabSourceNamespace
    echo $gitlabUserName