Nginx是一款轻量级的Web服务器(反向代理服务器)及电子邮件代理服务器。由俄罗斯所开发,香港服务器,供其大型的入口网站及搜索引擎Rambler使用。其特点是内存占用很少,并发能力很强.Nginx的出现不是很早,但它的发展速度却是惊人的,嫣然已经成为世界门户网站考虑的对象。中国大陆我们比较熟悉的有:新浪、网易、腾讯、小米、淘宝等等。下面是Nginx的世界占有率排名:
下面我们通过一些小的测试来简单了解一下Nginx的强大。
【准备工作】
①Nginx的官网下载最新的源码:nginx-1.3.16.tar.gz
②Libeventd官网下载最新源码:libevent-2.0.18-stable.tar.gz
说明:nginx采用Epoll【事件通知】机制,需要libevent库的支持,在RedHat的光盘上是有的,不过版本很低。
③Pcre:一个Perl库,包括perl兼容的正规表达式库,也是需要的。
在RedHat的光盘上是有的,而且默认已经装过了,但还需要它的一个devel包pcre-devel-6.6-2.e15_1.7(不装编译会出错的).
④Apache:安装RedHat光盘自带(为了用它带的压力测试工具ab)
①创建Nginx服务的nologin系统账号
groupadd-rnginx
useradd-r-gnginx-Mnginx
②解压缩源码.
cd/usr/local/src/nginx-1.3.16
③源码安装.
–conf-path=/etc/nginx/nginx.conf\
–error-log-path=/var/log/nginx/error.log\
–http-log-path=/var/log/nginx/access.log\
–pid-path=/var/run/nginx/nginx.pid\
–lock-path=/var/lock/nginx.lock\
–user=nginx\
–group=nginx\
–with-http_ssl_module\
–with-http_flv_module\
–with-http_stub_status_module\
–with-http_gzip_static_module\
–http-client-body-temp-path=/var/tmp/nginx/client/\
–http-proxy-temp-path=/var/tmp/nginx/proxy/\
–http-fastcgi-temp-path=/var/tmp/nginx/fcgi/\
–with-pcre
make&&makeinstall
拷贝nginx的主页文件到apache的主目录下(用于压力测试公平性)
cp/usr/local/nginx/html/index.html/var/www/html
启动Apache服务,进行压力测试.
servicehttpdstart
停掉Apache服务,香港服务器,启动Nginx进行压力测试.
注意:启动Nginx前要先建一个client访问时的临时目录.
启动nginx服务.
/usr/local/nginx/sbin/nginx
测试结果显而易见了。。。。。。。。
三:Nginx的一些基础应用
添加两块网卡:eth0192.168.145.100
eth0:0192.168.145.101
server{
listen192.168.145.100:80;
server_namelocalhost;
location/{
roothtml;
indexindex.htmlindex.htm;
}
error_log/var/log/nginx/error.log;
access_log/var/log/nginx/access.log;
error_page500502503504/50x.html;
location=/50x.html{
roothtml;
}
}
server{
listen192.168.145.101:80;
server_namelocalhost;
location/{
root/tec;
indexindex.htmlindex.htm;
}
error_log/var/log/nginx/tec_error.log;
access_log/var/log/nginx/tec_access.log;
error_page500502503504/50x.html;
location=/50x.html{
roothtml;
}
}
server{
listen192.168.145.100:80;
server_name;
location/{
roothtml;
indexindex.htmlindex.htm;
}
error_log/var/log/nginx/error.log;
access_log/var/log/nginx/access.log;
error_page500502503504/50x.html;
location=/50x.html{
roothtml;
}
}
server{
listen192.168.145.100:80;
server_nametec.wpp.com;
location/{
indexindex.htmlindex.htm;
}
error_log/var/log/nginx/tec_error.log;
access_log/var/log/nginx/tec_access.log;
error_page500502503504/50x.html;
location=/50x.html{
roothtml;
}
}
cd/etc/pki/CA/
mkdircertsnewcertscrl
touchindex.txtserial
echo01>serial(给serial一个初始序号)
③生成CA自己的私钥文件,并修改权限,放到自己的私钥存放目录(private/)
cd/usr/local/nginx/certs
②生成私钥文件(nginx.key),并修改权限.
chmod600nginx.key
③提取刚才生成的私钥文件,生成请求证书文件(nginx.csr).
④将请求证书文件提交给证书颁发机构CA,网站空间,生成证书文件(nginx.crt).
vim/etc/nginx/nginx.conf(修改完配置文件记得重启服务)
Hosts路径(C:\Windows\System32\drivers\etc\HOSTS)
在浏览器的地址栏内输入(https://www.zzdx.com),测试.
会提示找不到证书的颁发机构CA,那么我们该感到奇怪了,我们明明建立了CA了啊,而且也有了CA颁发的证书了啊,那为什么会没有呢?
怎么解决这个问题呢?
午餐,晚餐。或许吃得不好,可是却依旧为对方擦去嘴角的油渍。