Linux文件句柄数导致php-cgi假死的解决方案之一

最近,一台生产中的服务器(CentOS 5.2 64位 4G内存),老是出现网站打不开,登录到服务器上查看,发现Nginx和php-cgi都在运行,和平时不同的是此时php-cgi的 cpu占用为0,马上查看文件句柄数限制

  1. ulimit -n

得到的结果是:1024,这个值对生产中的服务显得偏小。
网上给出的解决方案,大部分是直接输入

  1. ulimit -SHn 51200 # 51200可自己根据应用调整

此法缺点很明显,一旦退出登陆,设置就失效了。
也有说直接把该命令写到/etc/rc.d/rc.local中的,今天找到一个正确的做法
打开/etc/security/limits.conf,里面有很详细的注释,找到如下设置(如果没有就插入)

  1. * soft nofile 51200
  2. * hard nofile 51200

退出后再次登陆,查看句柄数,已经正确设置为51200。
如果有碰到类似情况,可以检查一下看看是不是文件句柄数设置太小引起的。

, , ,

No Comments

[转载]mysql集群配置

本文是从PHPChina上看到的,不过没看到注明出处,自己GOOGLE到了,来源:顾秦博客,原文地址:http://www.mygooo.cn/

本篇文档旨在介绍如何安装配置基于2台服务器的MySQL集群。并且实现任意一台服务器出现问题或宕机时MySQL依然能够继续运行。
Read the rest of this entry »

No Comments

[转载]著名网站架构设计

本文转自好友陈臻的博客,原文:http://www.54chen.com/c/154
Read the rest of this entry »

No Comments

Smarty模板中调用PHP函数

因为应用需要,要在Smarty中调用PHP函数,实现办法如下:
模板

  1. 数据条数:{$data|count}
  2. 活动页面文件后缀:{$page|substr:'-3'}
  3. 特殊情况:{$page|str_replace:'jpg':'png'}

对应php实现

  1. count($data);
  2. substr($page, -3);
  3. str_replace('jpg', 'png', $page);

,

No Comments

LINUX下CHM文件转换为HTML或PDF

今天想整理点资料放到网站上,一方面自己可以来这查找,同时也方便大家,电脑上很多资料都是之前下载的CHM版,现在需要转为多HTML放上来,GOOGLE了一下,发现需要安装以下工具:
1.转为HTML

  1. sudo apt-get install libchm-bin

使用方法

  1. extract_chmLib dhtml.chm outpath

2.转为PDF(这个还没有验证过)

  1. sudo apt-get install htmldoc

, ,

No Comments

CentOS 5.2 目录颜色修改

默认的目录颜色为深蓝,看起来很费劲,可以通过以下办法改为亮蓝

  1. cp /etc/DIR_COLORS ~/.dircolors

No Comments

获取最小可插入值的SQL语句

工作中有一些应用,因为写操作频繁,如果使用自增长编号,那这个编号会暴涨,这时,使用非自增长编号的需求就凸显出来了,以下是得到这个编号的SQL:

  1. SELECT ( CASE WHEN EXISTS ( SELECT * FROM table b WHERE b.id =1) THEN MIN( id ) +1 ELSE 1 END ) AS id FROM table WHERE NOT id IN ( SELECT a.id -1 FROM table a)

本语句在Mysql 5.1.31上测试通过。

No Comments

CentOS 5.2最小化安装及常用工具添加

前几天安装了CentOS 5.2 x86_64版,以文本方式安装,选的最小化安装,即什么都不选,安装完成后发现一些常用工具都没有安装,没办法,谁叫我们选择的最小化安装呢,现在一个一个补回来吧。
Read the rest of this entry »

2 Comments