麦当劳 2010-01-13
Nginx("enginex")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。它是由IgorSysoev
为俄罗斯最大的门户网站Rambler.ru开发的,它已经在该站点运行超过三年了。同时俄罗斯超过20%的虚拟主机平台采用Nginx作为反向代
理服务器。nginx的源代码以类BSD许可证的形式发布。
Nginx的官网:http://nginx.net/
Nginx的英文维基:http://wiki.codemongers.com/Main
Nginx的中文维基:http://wiki.codemongers.com/NginxChs
作者的个人站点为:http://sysoev.ru/en/
在国内有腾讯,新浪,网易,迅雷等多家网站使用Nginx作为Web服务器或反向代理服务器。
Nginx是一个很牛的高性能Web和反向代理服务器,它具有有很多非常优越的特性:
1.高并发连接:能够支持高达50,000个并发连接数的响应,是因为Nginx选择了epollandkqueue作为开发模型
2.内存消耗少
3.配置简单:易读,且支持perl语法
4.成本低廉:开源
5.支持Rewrite重写规则:需要pcre库的支持
6.内置的健康检查功能
7.节省带宽:
8.稳定性高:几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动.你还能够不间断服务的情况下进行软件版本的升级
编译安装
1.到http://sysoev.ru/nginx/download.html下载nginx的源码包,目前最新的稳定版是nginx-0.6.35
#wgethttp://sysoev.ru/nginx/nginx-0.6.35.tar.gz
2.下载依赖包:
gzip模块需要zlib库
#wgethttp://www.zlib.net/zlib-1.2.3.tar.gz
rewrite模块需要pcre库
#wgetftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.8.tar.gz
ssl功能需要openssl库
#wgethttp://www.openssl.org/source/openssl-0.9.8j.tar.gz
3.解包
#tarzxvfnginx-0.6.35.tar.gz
#tarzxvfopenssl-0.9.8j.tar.gz
#tarzxvfpcre-7.8.tar.gz
#tarzxvfzlib-1.2.3.tar.gz
4.编译
#cdnginx-0.6.35/
#./configure--prefix=/usr/local/nginx-0.6.35--without-http_ssi_module--with-pcre=../pcre-7.8/--with-zlib=../zlib-1.2.3/--with-openssl=../openssl-0.9.8j--with-http_stub_status_module--with-http_ssl_module--without-http_memcached_module--without-http_userid_module--without-http_fastcgi_module--without-http_map_module--without-http_geo_module--without-http_autoindex_module
--prefix=/usr/local/nginx-0.6.35#Nginx安装路径。如果没有指定,默认为/usr/local/nginx。
--without-http_ssi_module#禁用ngx_http_ssi_module
--with-pcre=../pcre-7.8/#指定PCRE库的源代码的路径
--with-zlib=../zlib-1.2.3/#指定zlib库的源代码路径
--with-openssl=../openssl-0.9.8j#指定openssl库的源代码路径
--with-http_stub_status_module#启动监控模块(服务状态查看模块)
--with-http_ssl_module#把ssl编译进去,仅仅指定openssl库的源代码路径还是不够哦
--without-http_memcached_module#禁用ngx_http_memcached_module
--without-http_userid_module#禁用ngx_http_userid_module
--without-http_fastcgi_module#禁用ngx_http_fastcgi_module
--without-http_map_module#禁用ngx_http_map_module
--without-http_geo_module#禁用ngx_http_geo_module
--without-http_autoindex_module#禁用ngx_http_autoindex_module
#make&&makeinstall
5.相关的系统配置
#ln-ds/usr/local/nginx-0.6.35/usr/local/nginx
#mkdir-p/usr/local/nginx/utils
#mkdir-p/data/nginx_log
#rm-rf/usr/local/nginx/logs
#ln-ds/data/nginx_log/usr/local/nginx/logs
#chown-Rxyz:xyz/data/nginx_log/usr/local/nginx-0.6.35
#suxyz-c"/usr/local/nginx/utils/xyz_start.sh"#使用xyz_start.sh调用/usr/local/nginx/sinb/nginx启动nginx进程
6.启动并测试
#/usr/local/nginx/sbin/nginx
在浏览器里输入http://ip:port便可以看到welcometonginx!的字样
PS:2009/09/3010:00:02[emerg]10464#0:unknowndirective"ssl"in/usr/local/nginx-0.6.32/conf/nginx.conf:74这个是因为./configure的时候没有加上
--with-http_ssl_module,加上重新./configure;make;makeinstall即可