1.Nginx
1.1 Nginx介绍
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
特点1: 占用内存少 不超过2M
特点2: 并发能力强 5万/秒 2-3万/秒
1.2 Nginx下载/安装
官网:nginx.org/en/download.html
1.3 进程项说明
主进程: 主要提供反向代理服务的.(占用内存大的)
守护进程: 防止主进程意外关闭
1.4 Nginx相关命令
说明: Nginx启动会占用80端口, 如果启动有误,查看问题集.(端口号被占用)
命令执行位置: 要求在nginx根目录中执行
1.启动nginx start nginx
2.nginx 重启 nginx -s reload -s 任务树
3.nginx停止 nginx -s stop
1.5 入门案例
1.5.1 //用image.jt.com可访问本地照片路径,照片回显,修改后,重启nginx
server {
#监听端口 一般都是80端口 几乎不改
listen 80;
#拦截用户请求的域名
#server_name localhost;
Server_name image.jt.com;
#配置反向代理 / 代表拦截所有的请求
location / {
#root 关键字 代表的一个目录
# root html;
root D:/JT-SOFT/image;
#index 关键字 默认访问页面
# index index.html index.htm;
}
}
1.5.2 //实现:用户通过http://manage.jt.com的方式访问8091服务器. 代理方式: 反向代理
#配置后台管理系统 http://manage.jt.com:80
server {
listen 80;
server_name manage.jt.com;
#实现反向代理映射请求
location / {
proxy_pass http://localhost:8091;
}
}
1.5.3 集群实现
#配置后台管理系统 http://manage.jt.com:80
server {
listen 80;
server_name manage.jt.com;
#实现反向代理映射请求
location / {
#proxy_pass http://localhost:8091;
proxy_pass http://jtTomcats;
}
}
1.5.4 负载均衡
#集群配置说明 upstream 集群
1.轮询:根据配置文件的顺序依次访问
upstream jtTomcats {
server 127.0.0.1:8081;
server 127.0.0.1:8082;
server 127.0.0.1:8083;
}
2.权重:要求让高性能的服务器(硬件设备),尽可能多的处理用户请求
#集群配置说明 upstream 集群 1.轮询 2.权重
upstream jtTomcats {
server 127.0.0.1:8081 weight=6;
server 127.0.0.1:8082 weight=3;
server 127.0.0.1:8083 weight=1;
} //10次中81访问6次,82访问3次,83访问1次
3.IPHASH策略:业务场景: 要求用户与服务器进行绑定
实际案例: 学生在线考试系统 登录之后 要求展现试卷. 如果考生意外退出,应该保考试信息.
#集群配置说明 upstream 集群 1.轮询 2.权重 3.IPHASH
upstream jtTomcats {
ip_hash;
server 127.0.0.1:8081 weight=6;
server 127.0.0.1:8082 weight=3;
server 127.0.0.1:8083 weight=1;
}
1.5.5 Nginx属性说明
1.down属性 业务说明: 由于后台服务器宕机,可能没有及时修改nginx配置文件 用户访问会出现卡顿的现。
属性说明: 当用户服务器宕机之后 需要通过down属性进行标识, nginx不会再将请求发往故障机.
#集群配置说明 upstream 集群 1.轮询 2.权重 3.IPHASH
upstream jtTomcats {
#ip_hash;
server 127.0.0.1:8081 weight=6 down;
server 127.0.0.1:8082 weight=3;
server 127.0.0.1:8083 weight=1;
}
2.back属性 backup用来标识备用机. 当主服务器宕机或者主服务器遇忙时请求备用机.
#集群配置说明 upstream 集群 1.轮询 2.权重 3.IPHASH
upstream jtTomcats {
#ip_hash;
server 127.0.0.1:8081 weight=6 down;
server 127.0.0.1:8082 weight=3;
server 127.0.0.1:8083 weight=1 backup;
}
3.tomcat高可用性 当tomcat服务器发生宕机现象时,由nginx自己判断服务器是否可用.如果发现服务器宕机,.则自动的标识为down.
1.6 编辑HOSTS文件
作用:在本机实现了域名与ip地址的映射。
路径:C:/windows/System32/dirvers/etc/hosts
内容:
#@SwitchHosts! {"url": null, "icon_idx": 0, "title": "\u5f53\u524d\u7cfb\u7edf hosts"}
#京淘配置
#192.168.126.129 image.jt.com
#192.168.126.129 manage.jt.com
#IP 域名 映射关系
127.0.0.1 image.jt.com
127.0.0.1 manage.jt.com
127.0.0.1 www.jt.com
127.0.0.1 sso.jt.com
127.0.0.1 localhost
#bug 丢最后一个字母问题