Nginx服务器之反向代理加速

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

Apache   有三个特点  采用进程接受用户的请求  prefork   有8个子进程   每个进程都  占用内存      采用的机制  select  轮询机制     好处 :非常稳定

     内存占用大    并发连接请求 不超过 3000 个   超过3000个就断掉

nginx     采用【线程】的方法  共享内存  独占进程

          采用的机制  epoll   事件通知机制    缺陷 :不太稳定

                       并发连接请求    50000个

pcre

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正规表达式库.这些在执行正规表达式模式匹配时用与Perl 5同样的语法和语义是很有用的。Boost太庞大了,使用boost regex后,程序的编译速度明显变慢。测试了一下,同样一个程序,使用boost::regex编译时需要3秒,而使用pcre不到1秒。因此改用pcre来解决C语言中使用正则表达式的问题

下面的例子来实现nginx的反向代理加速

wps_clip_image-29643

安装之前,建一些用户,任何一个用户运行都会产生进程,进程必然要有身份

创建系统用户不用家目录

wps_clip_image-1529wps_clip_image-3920

安装libwvwnt  指明安装路径

wps_clip_image-1236

编译和安装

wps_clip_image-15390

切换到安装目录上 /usr/local/libevent

wps_clip_image-10604

写出额外安装的库的路径

wps_clip_image-22514wps_clip_image-6468

刷新缓存

wps_clip_image-7695

新安装的库

wps_clip_image-26397

对头文件做符号链接

wps_clip_image-12441

切换到/usr/include/libevent目录可以找到头文件

nginx要支持pcre,就要安装一个包

wps_clip_image-9570wps_clip_image-21948

安装nginx  要创建用户和组

wps_clip_image-20795

解压nginx安装包

wps_clip_image-20232

切换到/usr/local/src/nginx-1.4.2/目录下

安装

wps_clip_image-757

编译  安装

wps_clip_image-9382

切换到/usr/local/nginx目录下,html为默认站点主目录

wps_clip_image-30424

切换到/usr/local/nginx/sbin目录

wps_clip_image-19292

nginx是一个服务,可以执行

/etc/nginx/下存放的是nginx的配置文件

在nginx.conf里查看配置文件

wps_clip_image-22965

里面有事件进程,有http的全局配置

执行nginx

wps_clip_image-880

可以看到 语法是成功的    但没有客户端,所以创建一个客户端

wps_clip_image-24220

查看nginx的端口是否起来

wps_clip_image-32751

测试nginx

wps_clip_image-4004

Nginx安装成功

测试性能

nginx停下来   运行apache

wps_clip_image-8420

设置配置变量

wps_clip_image-6582

测试性能要用同一个机器,同一个网页

安装apache

wps_clip_image-8317

把nginx的那个页面复制给apache

wps_clip_image-5026

wps_clip_image-21047

接下来开始测试

测试的指令  ab

Apache的

wps_clip_image-792

wps_clip_image-19589

Nginx的

Apache的服务停下来

开启nginx的服务

wps_clip_image-13884

wps_clip_image-22670wps_clip_image-32484

由上面的实验可知,nginx的速度快