松窗竹户

2010年06月8日

nginx实现网站隔离

类归于: 随心所欲 — 标签:, — bugx @ 13:11

最近几日被挂马挂的头晕,一直很难查到具体哪个网站的漏洞。也是原来的设置不够严谨,导致了这次的后果。一直想像apache,IIS一样来隔离网站,不让木马跨站入侵。网上找了下nginx本身不带这个功能设置,也有牛人修改了nginx实现了网站隔离,那nginx真的没办法隔离吗?今天终于找到了方法,和apache一样,利用php.ini的open_basedir来实现分离。

我们知道在nginx中运行PHP实际上是PHP-CGI处理的,这里的方法我们用PHP-FPM来实现。PHP-FPM里有一个重写PHP.ini的设置的地方,那么我们把需要隔离的网站用独立的PHP-CGI进程来跑,缺点就是比原来共享PHP-CGI进程要占用更多的内存,因为PHP-CGI进程多了嘛。

先在NGINX里指定解析的PHP进程,我这里没有用端口模式,用端口模式也一样。

(全文…)

2009年11月15日

CentOS下NGINX+PHP-CGI占100%CPU问题

类归于: 搜索引擎优化SEO, 服务器专栏 — 标签:, , , , — bugx @ 19:42

上周在迁移网站到新服务器的时候,碰到了PHP-CGI经常跑着跑着占到100%CPU,然后进程全部卡死,网站没有响应。

在经过一天的观察下,在FPM下有错误日志

11月 13 21:19:21.219359 [NOTICE] fpm_got_signal(), line 48: received SIGCHLD
11月 13 21:19:21.219415 [NOTICE] fpm_children_bury(), line 194: child 7528 stopped for tracing
11月 13 21:19:21.219426 [NOTICE] fpm_php_trace(), line 139: about to trace 7528
11月 13 21:19:21.219579 [ERROR] fpm_trace_get_long(), line 78: ptrace(PEEKDATA) failed: 输入/输出错误 (5)
11月 13 21:19:21.220292 [NOTICE] fpm_php_trace(), line 167: finished trace of 7528

google了一下在nginx论坛上也有人问起这个问题,但是没有解决方法。

开始无从下手,换成Spawnfcgi管理php-cgi。结果跑了一个晚上,还以为解决的时候,当我早上登录服务器发现,诡异的事情又出现了,CPU急剧上升100%,负载上升到80-100多。

(全文…)

2009年06月8日

无缝升级nginx

类归于: 服务器专栏 — 标签: — bugx @ 14:09

从去年用nginx以来,跑PHP-CGI基本还算稳定。但是有时候PHP-CGI的解析出现问题,导致502错误,还不知道具体为什么会出现。

今天升级了下nginx,到最近版的0.8.0,尝鲜一下。

nginx编译后就一个小文件,不带动态库,升级也可以无缝升级,并不影响访问。

(全文…)

2008年10月29日

摸索了个nginx 502 Bad Gateway 的一种解决方法

类归于: 服务器专栏 — 标签:, — bugx @ 16:47

昨天装上nginx后在高负载的时候,论坛上传图片或者执行较长时间脚本的时候就不停的出现502 Bad Gateway ,网上搜了,大多数都是张大师的那篇解决方案,他的解决方案是

http
{
……
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
……
}

增加了fastcgi的相应请求时间。但是我在实际中碰到了这个问题,设置到500,还是会出现,只是比我设置120的时候要少一些。后来发现主要是在一些post或者数据库操作的时候出现这种情况,静态页面是不会出现的。

反复的查问题,调试,也加大了CGI的进程数。

(全文…)

2008年10月11日

初试nginx

类归于: 服务器专栏 — 标签: — bugx @ 16:38

nginx的性能已经超越了lighttpd,lighttpd如果在动态上承载量大的话,我也许会考虑,nginx据说能达到上万的并发连接,提供了稳定的服务及强大的反向代理。

最近管理的一个网站 http://mall.bianz.com ,一直是apache在跑,也没有用fast-cgi.性能很是稳定,在并发1000连接以上就影响访问速度了,1500的时候就很卡了,会有超时问题。

对比了几个强壮的web服务器配置,决定先用nginx试试。昨天根据http://blog.s135.com/read.php/366.htm?page=1的文章终于成功的配置了nginx,能够比较顺利的跑起来了。

http://mall.bianz.com:81/

但是还缺少rewrite配置,nginx的中文资料还比较少。大多是俄语的 :(

http://wiki.codemongers.com/NginxChs

这里有一个中文wiki。

WordPress 所驱动