Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。与旧版本(<=2.2)的Apache不同,nginx不采用每客户机一线程的设计模型,而是充分使用异步逻辑,削减了上下文调度开销,所以并发服务能力更强。整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活。 在Linux操作系统下,nginx使用epoll事件模型,得益于此,nginx在Linux操作系统下效率相当高。同时Nginx在OpenBSD或FreeBSD操作系统上采用类似于epoll的高效事件模型kqueue。
NGINX的特点:
nginx做为HTTP服务器,有以下几项基本特性:
1.处理静态文件,索引文件以及自动索引;打开文件描述符缓冲.
2.无缓存的反向代理加速,简单的负载均衡和容错.
3.FastCGI,简单的负载均衡和容错.
4.模块化的结构。包括gzipping, byte ranges, chunked responses, 以及 SSI-filter等filter。如果由FastCGI或其它代理服务器处理单页中存在的多个SSI,则这项处理可以并行运行,而不需要相互等待。
5.支持SSL 和 TLS SNI.
安装及应用:
环境:Red Hat Enterprise Linux 5
工具:libevent-2.0.16-stable.tar.gz nginx-1.0.11.tar.gz
一、安装:
安装libevent-2.0.16-stable.tar.gz
tar -zxvf libevent-2.0.16-stable.tar.gz -C /usr/local/src
cd/usr/local/src/ libevent-2.0.16
./configure --prefix=/usr/local/libevent
ln –s /usr/local/libevent/include /usr/include/libevent
echo “/usr/local/libevent/lib/” > /etc/ld.so.conf.d/libevent.conf
ldconfig
二、安装nginx-1.0.11.tar.gz
安装准备工作
tar -zxvf nginx-1.0.11.tar.gz -C /usr/local/src
cd /usr/local/src/nginx-1.0.11
创建一个系统帐号:nginx和一个系统组:nginx。
gruopadd -r ngin
useradd -r -g nginx -s /bin/nologin -M nginx
使用rpm包安装pcre库文件:
配置:
编译并且安装:make &&make install
在/usr/local/nginx/sbin中运行nginx服务。
测试:
应用:
1、基于IP地址访问不同站点:
在同一个服务器中,有多个IP地址,使用不同的IP地址范围的站点目录不一样。
修改nginx的配置文件:/etc/nginx/nginx.conf
测试:
2、基于虚拟头的站点访问
使用同一个IP地址,当访问的域名不同时,对应不同的站点目录。因为要设计域名解析,所以需要
有域名到IP地址的解析,可以修改本机中hosts文件或在本机中搭建DNS
测试:
3、基于虚拟目录的站点访问
为某个目录下的站点起个别名,当用户访问站点别名时,就会访问其对应的站点目录,提高安全性。
4、nginx下的自签发证书
首先×××制作工具Openssl配置文件:
然后在Openssl配置文件中指明的目录/etc/pki/CA中创建三个目录两个文件,并产生私钥。
Openssl ca -in private/cakey.pem -x509 -out cacert.pem。创建证书,填写相关信息即完成自签证书。
1、制作自己的CA证书
a)Openssl genrsa 1024 > 私钥文件 //创建一个长为1024字节的私钥文件
b)Openssl ca -in 私钥文件 -x509 -out 证书 //创建证书
给它人办法证书:
2、给它人签发证书
a)Openssl genrsa 1024 > 私钥文件 //创建一个长为1024字节的私钥文件
b)Openssl req -new -key 私钥文件 -out 请求文件
c)Openssl ca -in 请求文件 -out 证书 //创建证书
Openssl genrsa 1024 > nginx.key //产生私钥
Openssl req -new -key nginx.key -out nginx.req //向CA提出申请
填写相关信息,由CA审核,通过颁发证书。
Openssl ca -in nginx.req -out nginx.cert //创建证书
证书创建完成,然后进行捆绑。打开nginx配置文件,在tec站点下,修改内容。
修改完成之后,检测nginx的配置文件语法,重启nginx服务,检测端口。虽然可以访问但是受到限
制。
此时我们需要将CA的证书和Tec.abc.com的证书捆绑到一块儿。
测试: