关于 Out of Socket memory 的解释

一台 Nginx server,到晚上高峰 messages 出现大量的如下信息:
Apr 23 22:43:21 rs1 kernel: […] Out of socket memory

两种情况会出发 "Out of socket memory" 的信息:
1.有很多的孤儿套接字(orphan sockets)
2.tcp socket 用尽了给他分配的内存

首先看看情况 2。对于 TCP socket 来说,使用 pages 来计数的,而非 bytes,一般情况下 1 page = 4096 bytes。page 大小可以通过下面命令获得:
$ getconf PAGESIZE
4096
Continue reading

nginx 反向代理实现负载均衡简单模型

A,B,C 三台主机,组成一个集群,用来实现反向代理+负载均衡。之前总结过一个通过 squid 来实现反向代理的文章,点击这里参考。

A:前端。该主机上有两个网卡,外网一个 ip 假设是 202.202.202.202 对外提供服务;内网网卡绑定 192.168.2.1 这个 ip,与其余的两台后端实现交流,同时也是网关。
B:后端-1,ip 为 192.168.2.2。
C:后端-2,ip 为 192.168.2.3。
B,C 两台的网关均为 192.168.2.1。
三台主机的环境一样均为 CentOS-5.5 x86_64 的 LNMP,具体的安装可以参考我先前的这篇博客
Continue reading

CentOS 5.5 x86_64 平台下的 LNMP

被 x86_64 平台弄的蛋都碎了,各种依赖问题,各种冲突。先前使用 epel 装了个 nginx ,还凑或着用;后来需要加入 mysql,使用 mysql.com 的rpm 包安装也没有问题(使用 yum 安装各种 error),后来需要 php 的支持,于是悲剧就来了。于是就有了这篇记录。

更新,使用的是 mirrors.163.com 的,详情见附录。

# yum update

安装 epel
epel 的解释请看附录。

# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Continue reading