特点:
1)基于一部IO模型,性能强,高并发(静态小文件),静态1-2w
2)占用资源少。2w并发。开10个线程服务,内存消耗几百M
3)功能种类比较多(web,cache,proxy)
4)支持poll模型。使得NGINX可以支持高并发。
5)nginx配合动态服务和apache有区别
6)利用nginx可以对IP限速,可以限制连接数
7)配置更简单和灵活
应用场合:
1)静态服务器(图片,视频服务),另一个lighted,html,js,css,.flv文件
并发:1-3w
2)动态服务,nginx+fastcgi的方式运行php,jsp。
并发:取决于fastcgi,和数据库,对于单个PHP实例 500-1500
3)反向代理,负载均衡。日PV2000w以下,都可以直接用NGINX做代理
4)缓存服务
apache,nginx,lighttpd并发:
当处理动态数据时,三者的差距不大,从测试结果看,apache更有优势一点。
这是因为处理动态数据的能力取决于php和后端数据库的提供服务的能力。
也就是说瓶颈不在web服务器上,一般php引擎支持的并发参考值300-1000,
java引擎并发300-1000,数据库的并发300-1000
nginx虚拟主机:
一个server标签就是一个虚拟主机
1.基于域名,通过域名来区分虚拟主机,应用:外部网站
2.基于端口,通过端口来区分虚拟主机,应用:公司内部网站,网站的后台
3.基于ip:几乎不用
nginx安装:
1)安装nginx所需要的pcre库
pcre全称(Perl Compatible Regular Expression.中文perl兼容正则表达式,
安装pcre库是为了使nginx支持http rewrite模块。
yum install pcre pcre-devel
2)安装 openssl
yum install openssl openssl-devel
3)安装nginx
cd nginx-1.6.2
useradd nginx -s /sbin/nologin -M
./configure --user=nginx --group=nginx --prefix=/application/nginx1.6.2 --with-http_stub_status_module --with-http_ssl_module
make && make install
ln -s /application/nginx1.6.2/ /application/nginx
4)启动
/application/nginx/sbin/nginx
netstat -lntup|grep nginx
5)查看内容
curl 172.16.10.25
6)配置文件
vim /application/nginx/conf/nginx.conf
Nginx 基本配置:
1)模块
核心模块和基本模块
2)目录结构
conf:
nginx.conf 核心的配置文件
html:
默认站点目录
logs:
日志目录
Nginx 的主配置文件 nginx.conf
Nginx 的配置文件是一个纯文本文件,位于Nginx安装目录的conf目录下,整个配置文件是以块的
形式组织的。每个块一般以一个大括号 “{}” 来表示,块可以分为几个层次,整个配置文件中
Main指令位于最高层,在Main层下面可以有Events,HTTP等层级,而在Http层中又包含
Server层,即server block,在server block中又可分为location层,并且一个server block中
包含多个location block中。
egrep -v "#|^$" nginx.conf 过滤掉注释
配置多个站点:
vi nginx.conf
server {
listen 80;
server_name www.etiantian.org;
location / {
root html/www;
index index.html index.htm;
}
}
server {
listen 80;
server_name blog.etiantian.org;
location / {
root html/blog;
index index.html index.htm;
}
}
server {
listen 80;
server_name bbs.etiantian.org;
location / {
root html/bbs;
index index.html index.htm;
}
}
创建站点目录:
mkdir ../html/{www,blog,bbs}
for name in www blog bbs;do echo "http://$name.etiantian.org" >../html/$name/index.html;done
检查语法:
../sbin/nginx -t
重新载入文件
../sbin/nginx -s reload
配置:
1)别名地址栏还是etiantian.org ==> www.etintian.org 的内容
2)rewrite
3)访问网站ip就是访问第一个虚拟主机,sever