来个速记。
以前就因为一次内网调整,使用了一次lvs 的tunnel 模式,后来都没有配置过了,今天因为要配置外网的lvs ,再次弄了一下,才发现要注意一下了。
DR 模式下的rs 配置一般如下:
来个速记。
以前就因为一次内网调整,使用了一次lvs 的tunnel 模式,后来都没有配置过了,今天因为要配置外网的lvs ,再次弄了一下,才发现要注意一下了。
DR 模式下的rs 配置一般如下:
haproxy 的tcp 应用,我实操过两次,一次是svn ,一次是openfile 。
最近一次就是openfire 了,因为忘了当时做svn tcp 代理时的配置,弄得焦头烂额的。。。mark 下,以免以后再次需要的时候忘记了。
微博的名人确实有杀伤力啊,周五的时候,Kaifu 老师的微博转了一下公司的博客地址,结果访问一下子涌过来了。5000 的访问里有3000+ 是访问 / ,wp 的 / 是动态的啊,难怪撑不住,load1m 飙到50 ,20 个php-fpm 忙得不行。我把这类都归结于自杀式攻击,其实,很多时候,弄死我们的,都是自己啊。
解决也不是很难,静态化吧。curl 一个首页放到wp 的文件夹里,命名为 index.htm ,顺便改改 nginx 的配置:
处理这个事情的时候我正在打火锅呢,其实还想做得更完美一点的,静态化的首页,也能定时更新一下,但发现没那么简单,就放弃了。就放下去吃火锅了,天杀的谁想出来在这么热的天时吃火锅的!!
其实最好的做法就是,用 wp 的 wp super cache 插件。
Mac 下的vim 实在难用,连+python 都没有,自己重新编译是在所难免的了。最近使用中,发现,编译还得加上gtk 支持才行了。
vim 可以使用系统的剪切板,在vimrc 中加入
set clipboard=unnamed
即可。
但是,我发现,在 tmux 下的vim ,这个配置会导致,vim 完全不能复制粘贴,爆这个错:
E353: Nothing in register *
当前的vim :
好了,编译完成的vim 应该是以下这这样子:
$ vi –version | grep clipboard
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
+xsmp_interact +xterm_clipboard -xterm_save
最近帮朋友的网站做个小优化,由apache 迁移到nginx ,结果问题多多,svn 在提交的时候竟然有这个错误:
首先说说nginx 的配置。
svn 仍然使用 apache 的dav_svn ,只是端口由80 改为 1234,其它配置不改。
location /svn {
proxy_pass http://127.0.0.1:1234 ;
proxy_set_header Host “svn.mysite.net” ;
}
这是一篇无聊的blog ,那时候说起来有点搞笑,决定mark 下来。
以下一段是我同事的口述,但为了表述形象那么一点,我用第一人称。
话说前天,腹部突然来了感觉,然后就很自然地奔向WC 。刚进WC 看到Kaifu 老师正打开最外面那个蹲位的门,可能是我拖鞋声太响了。。。 他回头一看。。。微微一笑。。。就进去了。。。当时他一看,我一愣。。。。 想要不要说点啥,实在是想不出来说啥,他就已经进去了。然后我就进了他旁边的那个蹲位,从未离Kaifu 老师如此之近!!最深的一个印象是:Kaifu 老师好快啊,我第一波还没完,他就出去了⋯⋯
以下是我自己的口述。
话说昨天,我也在WC 遇到Kaifu 老师了,继在电梯,饭堂,又一次离Kaifu 老师如此的近了。这回,大家都只是来小的,我就站在他旁边。Kaifu 老师在小的方面似乎不够快啊,我完事了洗手走人了,他还没完⋯⋯
无聊,我真无聊~~~
近来有一些用户在某些网络环境下,登陆不了网站。通过详细的联系沟通,终于得出了结论。用户自己用http analyzer ,我在服务器端抓包。
用户端的请求头:
哇塞,基本全改了,除了cookie 也是那个,不过,多了一行空的cookie 。这是一个什么网络啊!!还加了一串不知道是什么的东西。
我测试了一下,nginx 是可以把 $http_cookie 正确读取出来的,但是后端的web 读取不了,读取了第一个空的cookie 。结果,一直认为用户没有cookie ,所以,用户就不能登陆了。
nginx 针对这种情况修复一下,在所有使用proxy_pass 的地方,加一行:
proxy_set_header Cookie $http_cookie ;
这样就把cookie 硬塞给后端了。
很不负责任地讲一句,我怀疑是运营商做的手脚。当然,也有可能是该用户的上网环境导致。
速写两篇blog ,最近忙死了。
将服务器的rsyslog 更改为 syslog-ng ,理论上syslog-ng 的配置应该是兼容syslog 的了,但无奈,发现不记录日志。
syslog-ng 的配置:/etc/syslog-ng/syslog-ng.conf 里
而因为使用了一段时间的rsyslog ,所以/var/log 目录下的一些文件,owner 都是 syslog ,难道因为这个原因!!
更改一下owner ,find /var/log/ -user syslog -exec chown root {} \;
搞掂,syslog-ng 工作了。
又是ubuntu server 的错!!!恨死了!!我一定要换了你!!!
非原创,前同事参详出来的,我知道一下原因,但今天遇到了,决定mark 一下。
故障现象:
NAT 用户,也就是使用同一个出口ip 的那些用户,例如,使用办公网络的用户。NAT 用户访问网站时,表现为连接不上,技术一点说,就是建立不了tcp 握手。
很奇怪吧?同一个网络的用户,我可以访问,旁边的同学就不能访问。难道是RPWT 吗?
在网上可以搜到一个很普遍的系统优化方法,修改/etc/sysctl.conf ,添加
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
sysctl -p 让内核参数生效。
以前大家通常会遇到netstat 看到很多 TIME-WAIT 状态的连接,于是就会添加以上两句,加速回收TIME-WAIT 的资源。
但是这个优化现在已经行不通了。
为了提高TCP的性能,“RFC1323 – TCP Extensions for High Performance”提出了 一个机制(http://tools.ietf.org/html/rfc1323#page-29)来替代TIME- WAIT状 态的功能。linux 实现了它。这个机制通过记录来自每台主机的每个连接的分组时间戳来实现,要求 来自同一主机的同一连接的分组所携带的时间戳要比之前记录 的时间戳新,以便 “防止回绕的序号PAWS机制“ (http://tools.ietf.org/html/rfc1323#page-17) 丢弃接收属于旧连接的延时分组。这依赖于来自每个主机的每个 TCP连接分组所携 带的时间戳要单调递增才能实现。然而经过NAT的连接,其分组携带时间戳每个用户都不同的(甚至有人写了个论文,利用这个分组的时间戳来计算NAT 后端有多少台主机 http://phrack.org/issues.html?issue=63&id=3#article),也就是说同一个ip ,携带的时间戳不会单调递增。服务器端对同一个ip 过来的包的timestamp 做一个验证,导致这些连接分组被认为是属于旧 连接的延时分组而被丢弃。
具体有多少被drop 的包呢??请看 netstat -s 的其中一行
7439 packets rejects in established connections because of timestamp
为了防止这种情况呢,也很简单,修改一下内核参数,把 /proc/sys/net/ipv4/tcp_tw_{reuse,recycle} 的值都置为 0 吧。
本周的第一天起床,多美好的一天啊,天清气爽的。9 点起床,10点半来到公司,恶梦才开始!!
服务器连续down 机,极其不稳定,由于各类服务我还没有上手,无奈,大部分情况下是眼睁睁地看着服务器down 的。晚上8 点到机房,12 点才把服务器装好上架。弄服务等东西,一直到了周二晚上的9 点左右,才把任务完成。服务器算是冷静下来了,算是过渡到一个较为稳定的状态了。打车回家,12 点躺下!共计39 小时,中间只是稍微趴了一下,大概就10+ 分钟。
为了纪念我连续工作超过24 小时,整整一天没有睡觉,我写下了这篇blog 。
虽然苦和累,但这段时间学习到的东西,在我旧东家可能得一个月了,因为时间都花费在和不懂技术的人的沟通去了,不错不错,哈哈。列几个遇到的问题和解决方案吧。
1,ubuntu server 的启动
装完以后,竟然开机启动后,载入到USB 的时候,会出现以下错误:
…
然后就在 (initramfs) 这个提示符下了。
其实在这里,不算开不了机,exit 退出,就ok 了,继续linux 的启动过程,login 画面。
我的猜想嘛,内核没载入?也不是。不认 uuid ?也不是。本来不是大事情,exit 一下就好,但如果没有人在机器身边,那就无法重启了。
原因:initramfs 在载入到USB 驱动的时候,没载入完毕!必须等待其载入完毕,在内核里加一个rootdelay 就好了。
/boot/grub/grub.cfg 里,找到
linux /vmlinuz-2.6.35-22-server root=UUID=541215f0-c868-40ec-b1d7-c7d083f18b80 ro quiet
2,ubuntu 的用户家目录加密
安装ubuntu 千万别加这个吧,哈哈。
encrypted home directory , 安装的时候,加上的话,用户的家目录就很安全了。会有以下情况出现。
/home/hello 是我的家目录,我没有登陆的话,如果有另一个用户想访问我的家目录,他会看不见我的家目录的所有被加密的所有文件,空空如也,简直好像被黑了!!
安全吧??但是,如果我有程序跑在我的家目录下呢??好吧,404 了,也爽歪歪了。
暂时没解决这个问题,因为太困了。也不敢贸然把 .Private 这类目录删了,以后在测试环境下弄。
3,DELL 的iDRAC6 远程控制卡
旧东家就是不帮我们弄一个远程控制卡,不搞无人值守机房。
我总算是玩到了这个东西了,不过因为连接的是内网,需要搭建一个vpn ,拨入vpn 以后,通过内网地址访问远程控制卡。
一个web 界面,我只是初玩,没时间细玩,have fun 。
4,DBA 了。
旧东家分工细了一点,有专门的DBA 。于是,我的DBA 技术到了09 年后,就没增长了。很多知识都落后了。
重新拾回来,实操了一下,充实!
5,nosql 了。
mongodb 更细致地看了一下,爽!
还有一些吧,忘了。第一次跨越一天的工作,累,但很爽,哈哈。