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的反向代理加速
安装之前,建一些用户,任何一个用户运行都会产生进程,进程必然要有身份
创建系统用户不用家目录
安装libwvwnt 指明安装路径
编译和安装
切换到安装目录上 /usr/local/libevent
写出额外安装的库的路径
刷新缓存
新安装的库
对头文件做符号链接
切换到/usr/include/libevent目录可以找到头文件
nginx要支持pcre,就要安装一个包
安装nginx 要创建用户和组
解压nginx安装包
切换到/usr/local/src/nginx-1.4.2/目录下
安装
编译 安装
切换到/usr/local/nginx目录下,html为默认站点主目录
切换到/usr/local/nginx/sbin目录
nginx是一个服务,可以执行
/etc/nginx/下存放的是nginx的配置文件
在nginx.conf里查看配置文件
里面有事件进程,有http的全局配置
执行nginx
可以看到 语法是成功的 但没有客户端,所以创建一个客户端
查看nginx的端口是否起来
测试nginx
Nginx安装成功
测试性能
nginx停下来 运行apache
设置配置变量
测试性能要用同一个机器,同一个网页
安装apache
把nginx的那个页面复制给apache
接下来开始测试
测试的指令 ab
Apache的
Nginx的
Apache的服务停下来
开启nginx的服务
由上面的实验可知,nginx的速度快