首页 > Linux操作系统 > Linux操作系统 > nginx 入门之理论基础(-)
NGINX
多节点 需要多quorum以及stonith,集群文件系统双主模型的DRBD GFS文件系统
《从零构建集群》
nginx:2002年Igor Sysoev 开发,2004年成为一个开源项目,有35.5M用户来使用,国内例如QQ 163 126,特点:具有出色的性能、可靠性、插件化结构、简单的配置、低资源占用率。
使用epoll的I/O模型,基于事件驱动使用异步的方式执行,响应速度快内存占用低,使用边缘触发、水平触发来提高响应率,wordpress、sourceforge都使用nginx。
功能:
它可以作为一个WEB服务器来使用;
也可以作为WEB的反向代理服务器,web reverse proxy
它同样可以作为SMTP反向代理服务器(较少使用)
LNMP:与PHP搭配向外提供动态网页服务,且必须基于FastCGI的结构来提供服务。
URL重写:
epoll模型,功能强劲,
Ps:德国的lighttpd使用lua脚本,性能与nginx不相上下;
GNU发音[genu:] Gnome[genom]
代理服务器:
工作在应用层,将客户端的请求进行转发,但在用户始终认为proxy为请求资源的网站,在客户端看来可以是一个集网站于一身的服务器;对已proxy来说,接到客户端的请求,再由自己对用户请求进行分析后,在想目的资源发起请求,获取资源后在有自己发送非客户端。
proxy具有防火墙功能,能够分析数据包内容,来屏蔽定义的内容;
proxy的通信加速功能:接收到用户请求先查找本地缓存,命中直接反馈信息,未命中则发起服务,从而大大节约带宽资源。
跟NAT的区别:
nat在网络层,将用户请求数据包进行地址转换后,发给目的地址,对客户端来说代理服务器是透明的。
反向代理web reverse proxy:
向外部宣称自己提供内网的所有服务,对外网来说将各种服务请求全部发给proxy,再由proxy进行想内网转发;此时,proxy也是先查询本地缓存,命中直接反馈,未命中再向后端服务器发出请求,这就是“反向代理”;注意一般来说只缓存静态内容(新闻、图片等),动态内容一般不进行缓存(账号密码、论坛发帖等)。
配置文件:
events{}
#并发事件数
worker_processes
#cpu核的个数
http{
sendfile on;
#内核空间的系统调用,直接将用户调用的文件从内核直接发送到网卡;仅对小于1K的文件才有效,否则必须要到用户空间。
keepalive_timeout 65;
#持久连接的超时时间
}
server{
#每一个虚拟主机就需要一个server段
}
location / {
root html;#根是html(如不注明绝对路径,则相对于安装路径来说)
#或改成/web带有绝对路径
index index.html index.htm;
}
#定义特定路径下的网页文件具有的访问特征(访问权限、访问属性)
location后可跟如下字符
/:直接根目录,只要在目录下都匹配
=:精确匹配,必须访问目录本身
~:
~*:不区分大小写的正则表达式匹配
^~:禁用搜索路径时的正则表达式功能
注意:非正则表达式的优先级要高;
子目录的优先级较高,如果没有定义子目录就进行全局搜索
location / { #相对路径
root /web;#根目录
index index.html index.htm;
}
#/web/
location /bbs { #相对路径
root /bbs; #根目录
index bbs.index;
allow 192.168.0.0/24; #访问控制
deny all;
}
#/bbs/bbs
虚拟主机定义
注意 :需要先注销中心主机的server项
server {
listen 80;
server_name
access_log /var/log/nginx/a.access.log ;
index index.html;
root /var/www/a;
}
server {
listen 80;
server_name
access_log /var/log/nginx/b.access.log ;
index index.html;
root /var/www/b;
}
#以域名作为区分
定义默认虚拟主机
A Default Catchall Virtual Host
server {
listen 80 default;
server_name _;
access_log /var/log/nginx/default.access.log ;
server_name_in_redirect off;
index index.html;
root /var/www/default;
}
#定义在http服务中
#在使用ip登陆时,默认打开的网页
简单的负载均衡(反向代理)
http {
upstream myproject {
server 127.0.0.1:8000 weight=3;
server 127.0.0.1:8001;
}#转发和权重
server {
listen 80;
server_name
location / {
proxy_pass http://myproject;
}#转发到这些定义到
}
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30129545/viewspace-1435063/ ,如需转载,请注明出处,否则将追究法律责任。