功能:
1.高性能的HTTP Server,解决c10k的问题
2.高性能的反向代理服务器,给网站加速
3.做为LB集群的前端一个负载均衡器
nginx的优势 IO多路复用
理论:
1.最传统的多进程并发模型 (每进来一个新的I/O流会分配一个新的进程管理。)
2.I/O多路复用 (单个线程,通过记录跟踪每个I/O流(sock)的状态,来同时管理多个I/O流 。)发明它的原因,是尽量多的提高服务器的吞吐能力。在同一个线程里面, 通过拨开关的方式,来同时传输多个I/O流。
技术:
spoll——特点:异步、非阻塞
$ pstree |grep nginx
|-+= 81666 root nginx: master process nginx
| |--- 82500 nobody nginx: worker process
| \--- 82501 nobody nginx: worker process
1个master进程,2个work进程
每进来一个request,会有一个worker进程去处理。但不是全程的处理,处理到什么程度呢?处理到可能发生阻塞的地方,比如向上游(后端)服务器转发request,并等待请求返回。那么,这个处理的worker不会这么一直等着,他会在发送完请求后,注册一个事件:“如果upstream返回了,告诉我一声,我再接着干”。于是他就休息去了。这就是异步。此时,如果再有request 进来,他就可以很快再按这种
方式处理。这就是非阻塞和IO多路复用。而一旦上游服务器返回了,就会触发这个事件,worker才会来接手,这个request才会接着往下走。这就是异步回调。
nginx 部署 yum
阿里云的epel源 或者 去官方:http://www.nginx.org
Mainline version: 主线版,即开发版
Stable version: 最新稳定版,生产环境上建议使用的版本
Legacy versions: 遗留的老版本的稳定版
但是你去官方下载的是源码包,需要你自己进行配置。。。。。。epel源则不需要
或者我祭出我的祖传终极大杀器网址你面全是rpm包!!!:http://nginx.org/packages/mainline/rhel/7/x86_64/RPMS/
yum - y install 你wget的包
然后安装nginx
yum -y install nginx.x86_64 nginx-mod-http-geoip.x86_64
nginx-mod-http-geoip.x86_64 这个包是提供如果需要以后显示用户IP的的国家、城市的模块,这个包只是一个可以显示用户IP国家、城市的模块。缺失这些国家、城市的信息,所以也要安装相应的库。下面是国家、城市的库:
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gzip -d 你下载的这两个包 //解压下载的包并删除压缩包,可以跟参数不删。和tar xf 用着一样就是能多个删除压缩包的动作:
mv GeoIP.dat GeoLiteCity.dat /etc/nginx/
然后进配置表进行添加国家、城市信息: vim /etc/nginx/nginx.conf
nginx -t 测试一下看哪里有问题。
然后service nginx reload //重新加载数据。不会导致用户掉线重连。
加下来就可以运行nginx了
systemctl start nginx
将 vim /etc/nginx/nginx.conf 中server{ } 内容复制一下
粘贴在在 vim /etc/nginx/con.f/aaa.conf 进行修改成下面这样
server {
listen 8000;
server_name www.wangdada.com *.sina.com;
location / {
root /data/webroot;
index index.html index.php;
allow 10.18.42.0/24;
allow 127.0.0.1;
deny all;
}
}
nginx -t //模拟运行查看错误
listen 8000; //端口号
root /data/webroot; //网页存储目录,data 和 webroot 都是目录,网页内容放在/data/webroot/下
index index.html //是 /data/webroot/下的网页文件。
allow //设置可访问的ip ,
deny all; //allow的结束语。 拒绝所有,除allow所设置的IP
service nginx reload //重新加载
systemctl start nginx //开启
Linux系列 初识ngnix——ngnix安装及配置表内容详解、让nginx支持并显示国家及其城市
原文地址:http://blog.51cto.com/13590999/2093588