nginx转换手记

ginkgodia 2010-12-03

首先说一下为什么要把apache换成nginx。

在目前的web服务器市场,apache的市场占有率应该在70%左右,可见其应用之广泛。apache有不错的性能及强大的模块配置功能,安全性也不错。后来发现,很多访问量比较大的网站,都换成了nginx,一个由俄罗斯人开发的开源项目,就下载下为研究了一下,发现其配置上比apache更加简洁,且可控制项也非常丰富,就决定采用nginx了。至于效率是否会比apache高10倍,本人没有测试过,没有发言权。

首先安装,sudoapt-getinstallngnix,版本是0.6.02,应该是一个比较稳定的版本。

其次,安装与php5-cgispawn-fcgi,php5服务器上本来就有,所以不必再安装一次。(前段时候nginx报重大安全漏洞,其实并不是ngnix的漏洞,而是spawn-fcgi上的问题,怎么修改以避免该漏同,大家google一下哈)。

经过上面的操作,就完成了安装,ngnix已经加入到自动启动配置中,接下来,我们要做的,就是修改配置文件,建立虚拟主机。

ubuntu集成nginx与apache后的目录结构非常的相似,在/etc/nginx目录下就是所有需要的东西了。nginx.conf是主配置文件,一般不用改动,sites-available目录下,是站点虚拟主机配置文件,sites-enabled下是生效的配置(直接建立起sites-available目录下文件的软链接,软链接是我发现的linux下最强大、最有效的功能,如果换为win平台,我不晓得该怎么做,呵呵)。

下面是一个主机配置示例:

server{

listen80;

server_nameyourdomain.com;

root/var/www/yousite_doc_root;

access_log/var/log/nginx/localhost.access.log;

location/{

root/var/www/yousite_doc_root;

indexindex.html;

}

location~\.(jsp|htm|do)${

proxy_passhttp://youdomain.com;

proxy_set_headerX-Real-IP$remote_addr;

proxy_read_timeout480;

proxy_send_timeout480;

}

location~*\.(mp3|wmv|png|jpg|gif|swf)${

valid_referersnoneblockedserver_names*.yourdomain.com;

if($invalid_referer){

rewrite^/http://image.yourdomain.com/dl.jpg;

#return403;

}

}

}

在上面的配置中,要注意的是:

1、location/{}中,请配置上root,虽然上面已经配置过一次。如果不配置,资源访盗链将无法实现,网上的很多配置都是误人子弟的,请大家一定要小心。

2、proxy_passhttp://youdomain.com是到jsp和*.do的,转到一个后台tomcat集群配置中,效率可能会比apache的ajp13低一些,我会在另一篇文章中介绍。

3、proxy_read_timeout480;与proxy_send_timeout480配置,有助于解决业务执行过程较长的长请求。

4、proxy_set_headerX-Real-IP$remote_addr用于在程序中获得客户真实的ip,当然切换成nginx后,你程序中取ip的代码也得改。

php站点的一个配置实例:

server{

listen80;

server_nameyourdomain.com;

access_log/var/log/nginx/localhost.access.log;

location/{

root/var/www/bbs_doc_root/subdir;

indexindex.htmlindex.php;

}

location~\.php${

fastcgi_pass127.0.0.1:9000;

fastcgi_indexindex.php;

fastcgi_paramSCRIPT_FILENAME/var/www/bbs_yousitedomain/ucenter$fastcgi_script_name;

includefastcgi_params;

}

}

最后,还需要修改nginx配置文件,将nginx版本号隐藏起来,以访止自动扫描软件发现特定版本的安全露洞。

如有问题,请与我讨论。

本文首发http://www.fudu365.com【英语听力复读网】,转载请保留。

相关推荐

lwplvx / 0评论 2020-11-22
岁月如歌 / 0评论 2020-07-21