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的反向代理加速

Nginx服务器之反向代理加速_target

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

创建系统用户不用家目录

Nginx服务器之反向代理加速_服务器_02Nginx服务器之反向代理加速_target_03

安装libwvwnt  指明安装路径

Nginx服务器之反向代理加速_engine_04

编译和安装

Nginx服务器之反向代理加速_blank_05

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

Nginx服务器之反向代理加速_engine_06

写出额外安装的库的路径

Nginx服务器之反向代理加速_服务器_07Nginx服务器之反向代理加速_blank_08

刷新缓存

Nginx服务器之反向代理加速_blank_09

新安装的库

Nginx服务器之反向代理加速_blank_10

对头文件做符号链接

Nginx服务器之反向代理加速_target_11

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

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

Nginx服务器之反向代理加速_服务器_12Nginx服务器之反向代理加速_target_13

安装nginx  要创建用户和组

Nginx服务器之反向代理加速_服务器_14

解压nginx安装包

Nginx服务器之反向代理加速_target_15

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

安装

Nginx服务器之反向代理加速_blank_16

编译  安装

Nginx服务器之反向代理加速_target_17

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

Nginx服务器之反向代理加速_服务器_18

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

Nginx服务器之反向代理加速_target_19

nginx是一个服务,可以执行

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

在nginx.conf里查看配置文件

Nginx服务器之反向代理加速_服务器_20

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

执行nginx

Nginx服务器之反向代理加速_target_21

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

Nginx服务器之反向代理加速_服务器_22

查看nginx的端口是否起来

Nginx服务器之反向代理加速_服务器_23

测试nginx

Nginx服务器之反向代理加速_target_24

Nginx安装成功

测试性能

nginx停下来   运行apache

Nginx服务器之反向代理加速_engine_25

设置配置变量

Nginx服务器之反向代理加速_engine_26

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

安装apache

Nginx服务器之反向代理加速_engine_27

把nginx的那个页面复制给apache

Nginx服务器之反向代理加速_engine_28

Nginx服务器之反向代理加速_target_29

接下来开始测试

测试的指令  ab

Apache的

Nginx服务器之反向代理加速_engine_30

Nginx服务器之反向代理加速_target_31

Nginx的

Apache的服务停下来

开启nginx的服务

Nginx服务器之反向代理加速_服务器_32

Nginx服务器之反向代理加速_服务器_33Nginx服务器之反向代理加速_blank_34

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