一.nginx 介绍
1.NGINX:高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
在高连接并发的情况下,Nginx是Apache服务器不错的替代品.
2.Nginx工作原理:
1) Nginx由内核和模块组成,完成工作是通过查找配置文件将客户端请求映射到一个location block(location是用于URL匹配的命令),location配置的命令会启动不同模块完成工作。
2)Nginx模块分为核心模块,基础模块和第三方模块。
a.核心模块:HTTP模块、EVENT模块(事件)、MAIL模块。
b.基础模块:HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块、HTTP Rewrite模块。
c.第三方模块:HTTP Upstream Request Hash模块、Notice模块、HTTP Access Key模块。
3. 性能优势
a. web服务器,处理静态文件、索引文件以及自动索引效率高。
b.代理服务器,快速高效反向代理,提升网站性能。
c.负载均衡器,内部支持Rails和PHP,也可支持HTTP代理服务器,对外进行服务。同时支持简单容错和利用算法进行负载均衡。
d.性能方面,Nginx专门为性能设计,实现注重效率。采用Poll模型,可以支持更多的并发连接,并在大并发时占用很低内存。
e. 稳定性方面,采用分阶段资源分配技术,使CPU资源占用率低。
f.高可用性方面,支持热备,启动迅速。
二.安装:
(零).系统环境
nginx-1.6.2 ubuntu 12.04
(一)、软件下载和依赖包
1、pcre -----> rewrite模块需要 pcre 库
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz
2、nginx
wget http://nginx.org/download/nginx-1.6.2.tar.gz
3.Zlib ------>gzip模块需要 zlib 库
下载地址: http://download.chinaunix.net/download/0013000/12241.shtml
4.ssl ------->ssl 功能需要openssl库
下载地址:http://www.openssl.org/source/
(二)、安装
1、安装pcre
tar xf pcre-8.35.tar.gz
cd pcre-8.35
./configure
make
make install
2.安装zlib
tax zxvf zlib-1.2.7.targz
cd zlib-1.2.7
./configure
make
make install
3、安装nginx
useradd nginx -s /sbin/nologin
tar xf nginx-1.6.2.tar.gz
cd nginx-1.6.2
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35 --with-zlib=/usr/local/src/zlib-1.2.7
make
make install
4.启动服务
/usr/local/nginx/sbin/nginx
5.查看网页和端口
netstat -an | grep 80
6.浏览器输入地址: ip 可以查看到欢迎界面.
7.ngixn 的常用命令:
/usr/local/nginx/sbin/nginx -s reload # 重新载入配置文件
/usr/local/nginx/sbin/nginx -s stop/start/restart # 停止,启动,重启 Nginx
/usr/local/nginx/sbin/nginx -t #检查配置文件语法问题
三.nginx 目录结构
tree /usr/local/nginx
.
├── client_body_temp
├── conf # Nginx所有配置文件的目录
│ ├── fastcgi.conf # fastcgi相关参数的配置文件
│ ├── fastcgi.conf.default # fastcgi.conf的原始备份文件
│ ├── fastcgi_params # fastcgi的参数文件
│ ├── fastcgi_params.default # 所有结尾为default的文件都是备份文件
│ ├── koi-utf #编码映射: charset_map koi8-r < -- > windows-1251
│ ├── koi-win # 编码映射:charset_map koi8-r < -- > utf-8
│ ├── mime.types # 媒体类型
│ ├── mime.types.default
│ ├── nginx.conf # Nginx主配置文件
│ ├── nginx.conf.default
│ ├── scgi_params # scgi相关参数文件
│ ├── scgi_params.default
│ ├── uwsgi_params # uwsgi相关参数文件
│ ├── uwsgi_params.default
│ └── win-utf #编码转换:charset_map windows-1251 < -- > utf-8
├── fastcgi_temp # fastcgi临时数据目录
├── html # Nginx默认站点目录
│ ├── 50x.html # 错误页面优雅替代显示文件,例如当出现502错误时会调用此页面
│ └── index.html # 默认的首页文件
├── logs # Nginx日志目录
│ ├── access.log # 访问日志文件
│ ├── error.log # 错误日志文件
│ └── nginx.pid # pid文件,Nginx进程启动后,会把所有进程的ID号写到此文件
├── proxy_temp # 临时目录
├── sbin # Nginx命令目录
│ └── nginx # Nginx的启动命令
├── scgi_temp # 临时目录
└── uwsgi_temp # 临时目录
编码处理文件存在是由于koi8-r是斯拉夫文字8位元编码,供俄语及保加利亚语使用。在Unicode未流行之前,KOI8-R 是最为广泛使用的俄语编码,使用率甚至起ISO/IEC 8859-5还高。这3个文件存在是因为作者是俄国人的原因