标签类目:nginx

cielkong | centOS学习,Nginx服务器 | 2011年10月8日
Litespeed + Nginx + php构建强悍的web服务器

期和服务器打交道,从一开始IIS到apache,又从apache到nginx,现在又从nginx到litespeed.做技术的人,如果想要追求更完美,就应该学会折腾,只有不停的折腾才能不断进步.今天我才发现,想构建最强健,速度最快的服务器,非litespeed+nginx 不可.

cielkong | Nginx服务器 | 2011年06月8日
nginx + php php-fpm中的进程管理方式优化

现在都流行使用nginx+php+php-fpm 做web服务器,但是在使用这样的配置的时候,往往遇到很多我们以前没有碰到过的问题。最常见的就是502,504错误,有时候你也会觉得服务器很慢。综合这些原因,主要是由于nginx的配置和php-fpm的配置不合理。以下收集了关于php-fpm的详细配置说明。大家可以用心体会一下其原理。 php-fpm目前主要又两个分支,分别对应于php-5.2.x的版本和php-5.3.x的版本。在5.2.x的版本中,php-fpm.conf使用的是xml格式,而在新的5.3.x版本中,则是和php.ini一样的配置风格。 在5.2.x版本中,php-fpm.conf中对于进程管理号称是有两种风格,一种是静态(static)的,一种是类似于apache风格(apache-like)的。 按照文档的说明,如果pm的style采用apache-like,启动的进程数应该是和StartServers指定的一样。不过经过数次的尝试,我们会发现,实际上在这里将pm的style配置成apache-like没有起任何作用。也就是说,这里的apache-like并没有被实现。 不过,在最新的5.3.x的配套php-fpm中,apache风格的进程管理已经被实现了。 可知,对于进程的管理存在两种风格——static和dynamic。和之前的版本的进程管理其实还是一样的,只是将apache-like改成了dynamic,这样更容易理解。 如果设置成static,进程数自始至终都是pm.max_children指定的数量。 如果设置成dynamic,则进程数是动态的,最开始是pm.start_servers指定的数量,如果请求较多,则会自动增加,保证空闲的进程数不小于pm.min_spare_servers,如果进程数较多,也会进行相应清理,保证多余的进程数不多于pm.max_spare_servers。 当php-fpm启动后,一个php-cgi进程约战3M内存,但是当它们处理过一些请求后,有些内存是释放不掉的,占用的内存能达到20M-30M不等。 对于内存大的服务器(比如说4G)来说,指定静态的max_children实际上更为妥当,因为这样不需要进行额外的进程数目控制。比如我们指定为100个,那么php-fpm耗费的内存就能控制在 2G的样子,用2G来处理别的事情也应该足够了。 如果内存稍微小点,比如1G,那么指定静态的进程数量应该更加有利于服务器的稳定。这样可以保证php-fpm只获取够用的内存,将不多的内存分配给其他应用去使用,会使系统的运行更加畅通。 对于更小的内存来说,比如128M的内存,即使按照20M的内存量来算,10个php-cgi进程就将耗掉200M内存,那系统的崩溃就应该很正常了。因此应该尽量地控制php-fpm进程的数量,大体明确其他应用占用的内存后,给它指定一个静态的小数量,会让系统更加平稳一些。

cielkong | centOS学习 | 2011年04月24日
centos服务器架设的一点经验

由于以前都是使用windows服务器,随着SEo行业竞争的激烈愈演愈烈,使得在这个行业发展的我们不得不学习更多的新的技术,通过各种新的技术和手段来增加自己和公司的竞争力。处于安全的考虑,我们决定逐步将所有的网站转换到linux的平台,我们选择了稳定性和操作性都不错的centos作为服务器平台。