摘要:
1、项目背景 经过几年的发展,公司最早是人工发布工程代码,之后使用了jenkins大部分工作只要新建一次脚本、nginx配置后就能比较自动的完成,但是回退依然使用人工处理的方式。自从公司业务发展起来以后,每个月2次的活动,都要上下主机,根据工程扩容。其中主要工作有新建ecs主机,初始化主机环境,添加 阅读全文
摘要:
centos 5.x,6.x的iptables iptables就是Linux的防火墙,主要对iso中的3,4层进行控制出入和检测等功能。其中有5个规则链: 1.PREROUTING (路由前) 2.INPUT (数据包流入口) 3.FORWARD (转发管卡) 4.OUTPUT(数据包出口) 5. 阅读全文
摘要:
1.JVM结构 一般来说目前我们公司的Java程序最大有2.5G的堆就可以了。年轻代大概是1G,持久代256M,其他的都分给老年代大概1.3G的样子。整个jvm的结构图如下: 整个的过程是这样的java程序会把要使用的项目先放到年轻代中,确切的来说是年轻代的Eden区域,如果eden区域不够了,就会 阅读全文
摘要:
net.ipv4.ip_forward = 1 开启linux的转发功能,vpn和iptables需要使用 fs.file-max = 65535:这个参数表示进程(比如一个worker进程)可以同时打开的最大句柄数,这个参数直线限制最大并发连接数,需根据实际情况配置。(需要配合ulimit 命令来 阅读全文
摘要:
mysql的主从复制依赖bin-log日志,会因为各种问题中断,如flush table,网络问题等,还有一些未知的bug因素,之前使用mysql import方式恢复速度太慢,一个3G的库要恢复一个下午,实在是无法忍受。现在用一个别的方法来操作只需要花费15分钟左右。 1.备份主库 解释: --d 阅读全文
摘要:
再也不用nohup或者setsid了,这段代码主进程fork出子进程,然后会自动退出,子进程会执行else后面的语句,随便各位放点什么。 阅读全文
摘要:
本人的程序是在mac上写的,windows的话可能略有不同主要是PhantomJS的路径上。首先要下载PhantomJS,然后创建一个到/usr/bin/phantomsjs的软链。为什么用selenium和PhantomJS是因为,公司是做电商的,页面很多都是ajax异步渲染出来的,使用urlli 阅读全文
摘要:
网上找了有一会linux直接使用shadowsocks的方法,最后发现shadowsocks是socks5,而yum,wget,curl都是http,于是乎找了个socks5转http的方法。 1.安装shadowsocks 客户端 easy_install shadowsocks vim /etc 阅读全文
摘要:
另附一段playbook。 这段代码就是调用palybook去执行,然后把执行的结果返回回来,能够用于自动化平台的开发,生成playbook后,按组执行,然后根据得到返回的数据来判断执行情况,总的来说就是输入playbook,返回结果。代码东拼西凑了来自ansible权威指南,一些gitlab,一些 阅读全文
摘要:
把按天计算的数据存放到redis中,避免每次读取都要使用mysql的查询很慢,redis使用hash模式,key值定义好后,value就是{日期:json}这样的格式。读取出来的时候再进行json序列化就可以了。小数位的保留使用了Decimal,其实用round更简单一些,但是做这个事情的时候发现了 阅读全文