Nginx实战篇
安装部署与配置全解析
1 写在正文之前
最近质保在计划做Portal的性能测试,考虑到在国家统计局项目前期规划到2000多并发的PV情况下面,静态文件的压力会超过10000。
根据对Nginx的介绍,Nginx的性能和Apache相比,会有100%的提升。原因:
得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。 目前Linux下能够承受高并发访问的Squid、Memcached都采用的是epoll网络I/O模型。
所以计划对主流的Web Server进行对比性能测试,特引入Nginx进行配置,在测试环境中现场实战了一次,特将过程记录总结如下。
注:在真正性能测试结束时,再给出各个Web Server的性能对比结果,欢迎大家持续关注。
2 部署步骤
2.1 下载介质
NgInx部署之前,首先根据项目的需要选择需要安装的组件,实际环境一般会考虑需要支持gzip压缩和rewrite模块。所以安装的第一步是下载Ngix及Ngix的相关组件。
●Nginx本身
下载地址:/en/download.html
建议下载最新版本介质,目前最新的是:0.9.6
●gzip压缩依赖库:zlib
下载地址:www.zlib/
我下载的版本是:Version 1.2.5
●Rewrite模块的正则表达式依赖库:pcre
pcre库简称:Perl兼容正则表达式 (Perl Compatible Regular Expressions)库。关于正则表达式的写法可以参考附件《perlre - perldoc_perl_org.mht》
下载地址:/
我下载的版本是:pcre-8.02
2.2 编译部署介质
2.2.1 部署zlib库
执行Linux命令解压缩后编译安装:
tar -zxvf zlib-1.2.
./configure
make
make install
默认安装到/usr/local/lib下即可。
安装完成后可以ls -l /usr/local/lib/libz.so查询是否安装成功,安装成功后,通过ls可以提示文件已经存在。
2.2.2 部署pcre库
执行Linux命令解压缩后编译安装:
tar -zxvf pcre-8.
./configure
make
make install
默认安装到/usr/local/lib下即可,安装完成后可以ls -l /usr/local/lib/libpcre.so查询是否安装成功
2.2.3 部署nginx
1.解压缩介质:tar -zxvf nginx-0.9.
2.编译./configure --prefix=/opt/nginx --with-poll_module –with-http_stub_status_module
需要关注编译的日志
●checking for epoll ... found 代表到了高效的poll模式
●checking for PCRE library ... found 代表到了pcre库
●checking for zlib library ... found 代表到了zlib库
●如果后面需要用到状态监控,需要加上 -with-http_stub_status_module
3.用make来安装:
make
make install
4.验证nginx是否部署成功
cd /opt/nginx/sbin
./nginx
netstat -ano | grep 80 | grep nginx,看到nginx在80端口处于监听状态,代表配置成功。
部署的两点注意:
1.在kernel>2.6的情况下面,推荐使用poll模式
2.偷懒的情况,可以创建一个软链接到/usr/sbin下
ln -s /opt/nginx/sbin/nginx /usr/sbin/nginx
2.2.4 启动和停止nginx
●启动
cd /opt/nginx/sbin
./nginx
●停止
./nginx -s stop
●重新启动
./nginx –s reload
一点小知识:
查看Web请求的部分信息(推荐用httpwatch 某些情况用不了的时候直接Linux命令)
curl --head 127.0.0.1:81
HTTP/1.1 200 OK
Server: nginx/0.9.6
Date: Wed, 23 Mar 2011 07:29:24 GMT
Content-Type: text/html
Content-Length: 151 Last-Modified: Wed, 23 Mar 2011 06:11:44 GMT
Connection: keep-alive
Accept-Ranges: bytes
2.3 配置nginx
nginx配置文件存在安装目录的conf,如/opt/nginx/f下。
配置文件修改后,可用nginx -t来进行测试
2.3.1 配置gzip压缩
配置Gzip压缩,在f配置文件中加入:
gzip on;
gzip_min_length 1024;
gzip_buffers 4 8K;
nginx部署前端项目gzip_types text/plain application/x-javascript text/xml text/css text/html application/xml;
每个命令详解如下:
●zip_min_length
设置允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取。 默认值是0,不管页面多大都压缩。 建议设置成大于1k的字节数,小于1k可能会越压越大。
●gzip_types
配置需要压缩的请求的Content-Type类型,对符合指定类型的请求启用gzip压缩。
●gzip_buffers
设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。例如 4 4k 代表以4k为单位,
按照原始数据大小以4k为单位的4倍申请内存。 4 8k 代表以8k为单位,按照原始数据大小以8k为单位的4倍申请内存。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论