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网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx-特点
- 占用内存少 不超过2M tomcat服务器占用内存 200M
- 并发能力强 3-5万次/秒 tomcat 支持的并发能力 220-260个/秒 调优1000个/秒
- 开发语言 C语言开发 tomcat是java写的
反向代理(nginx)
正向代理(扩展)
特点:
1. 反向代理服务器介于用户和目标服务器之间
2. 用户的资源从正向代理服务器中获取.
3. 客户端通过正向代理服务器,指向目标服务器.(用户非常清楚的了解目标服务器的存在.) 服务器端不清楚到底是谁访问的服务器.以为只是代理服务器访问.
关于正向和反向说明
说明: 每一次请求服务器,都伴随着正向代理和反向代理.
正向主要提供网络服务, 反向主要提供数据支持.
Nginx
nginx启动使用80端口
查寻80端口被那个进程占用:netstat -ano | findstr "80"
访问localhost:80
nginx进程说明:
启动nginx会启动两个:一个主进程 一个守护进程,主进程内存大,守护进程内存小,关闭进程先关闭守护,在关闭主进程。
错误的启动方式:
nginx服务器命令:
在nginx根目录下启动cmd
1.启动nginx服务 start nginx
2.重启nginx服务 nginx -s reload
3.关闭nginx服务 nginx -s stop
nginx 关键字:
events 可以配置nginx的环境
2. http 请求协议 nginx可以连接http协议
3.server 每个反向代理服务 都是一个server{}
4.listen nginx中一般的监听端口号:80
5.server_name nginx拦截url中的那个请求
6.location拦截之后,开始反向代理配置的核心关键字
7./拦截的路径 拦截的所有请求
8. root 代表反向代理的是一个目录
9.index 代表访问的默认的页面
nginx负载均衡:
负载均衡的原理:
开启多台服务器:
nginx负载均衡配置
1,。轮询策略
定义一个集群,然后改proxy_pass 路径
2.权重策略:
说明:根据服务器的性能,灵活的进行访问的配比
3.IPHASH策略:
策略:有时会将用户的数据,存储到后端服务器的Session中.并且保证每次用户访问都会同一个tomcat服务器
弊端:
1.由于hash计算不能保存均匀分布,所以可能出现负载不均衡的现象
dang
2.将用户数据存储到服务器中,如果服务器宕机吗,则直接影响关联用户
3.特殊情况下使用 考试系统/压力测试
nginx高可用:
问题说明:
关键字:
在线部署步骤:
步骤:
1.将设计部署的策略
2.通过down属性标识下线.
3.之后部署新的项目,启动测试.如果没有问题.则上线运行.
4.重复执行上述的操作即可.
5.上述的操作一般都有脚本完成
Tomcat高可用实现:
1.max_fails=1 指定最大的失败的次数规定最大的失败次数1
2.fail_timeout=60s 如果失败次数达到最大次数60s内,nginsx不会再次访问故障机
最大失败次数是一次,如果失败了,60秒内不会再次访问。