nginx一些细节知识点补充
2017-09-04 17:47
197 查看
1.upstream 配置代理
upstream local_tomcat {
server localhost:8080;
}
server{
location / {
proxy_pass http://local_tomcat;
}
#......其他省略
}
在server外添加了一个upstream,而直接在proxy_pass里面直接用http://+upstream的名称来使用。
还是直接来http://localhost,还是和第一个一样的效果,所有链接都没问题,说明我们配置正确。
upstream中的server元素必须要注意,不能加http://,但proxy_pass中必须加
2.upstream 配置多台服务器
upstream local_tomcat {
server localhost:8080;
server localhost:9999;
}
防止第一台服务器出现挂机。
3.upstream配置某台服务器的权值
upstream local_tomcat {
server localhost:8080 weight=1;
server localhost:9999 weight=5;
}
4.nginx的重要功能
动/静态资源分离、负载均衡
5.动/静态资源分离
nginx支持正则表达式以区分静态资源或者动态资源,
其中动态资源可以进一步转发给后端的proxy server,
而静态资源则可以在nginx层面使用本地缓存策略或者重定向(类CDN)到其他nginx上
6.负载均衡
对于动态资源而言,如果有多个proxy server,那么nginx将会根据一定的算法选择合适的server,并转发请求,最终将客户端request相对均衡的分发给多个server。
7.负载均衡算法
“负载均衡”算法需要在upstream区块的首行声明。
1)round-robin:轮询,request将会依次有序的分发给web server。one by one!默认使用此算法。
2)least-connected:最小连接数,请求将会被分发给当前链接数最小的server。配置名“least_conn”。
3)ip-hash:根据请求的客户端IP作为hashing key,来判定选择哪个server。配置名“ip_hash”。
能够影响负载均衡策略的还有一个重要的参数:权重
8.健康检测
upstream backend {
server 192.168.1.110 weight=3 max_fails=3 fail_timeout=10s;
server 192.168.1.120;
server 192.168.1.130;
}
对于负载均衡是必须的,这是提供可用性、“故障迁移”的必要手段。比如当某个server失效,请求未能正常处理,那么我们应该将分发给那些“正常”的server,并将故障的server从列表中移除,直到它恢复,以避免后续更多的请求处理失败。nginx当与一个server建立链接失败后,会在“fail_timeout”时间内最多尝试“max_fails”次,如果仍为失败,则将次server标记为“failed”,并从服务列表中移除。默认“max_fails”为1,如果“max_fails”为0,则表示关闭“健康检测”;“fail_timeout”(默认位10s)表示检测多久后被标记为“failed”,nginx会以优雅的方式检测那些失效的server,如果它们再次上线,则将它们标记为“alive”,即可继续提供服务。
upstream local_tomcat {
server localhost:8080;
}
server{
location / {
proxy_pass http://local_tomcat;
}
#......其他省略
}
在server外添加了一个upstream,而直接在proxy_pass里面直接用http://+upstream的名称来使用。
还是直接来http://localhost,还是和第一个一样的效果,所有链接都没问题,说明我们配置正确。
upstream中的server元素必须要注意,不能加http://,但proxy_pass中必须加
2.upstream 配置多台服务器
upstream local_tomcat {
server localhost:8080;
server localhost:9999;
}
防止第一台服务器出现挂机。
3.upstream配置某台服务器的权值
upstream local_tomcat {
server localhost:8080 weight=1;
server localhost:9999 weight=5;
}
4.nginx的重要功能
动/静态资源分离、负载均衡
5.动/静态资源分离
nginx支持正则表达式以区分静态资源或者动态资源,
其中动态资源可以进一步转发给后端的proxy server,
而静态资源则可以在nginx层面使用本地缓存策略或者重定向(类CDN)到其他nginx上
6.负载均衡
对于动态资源而言,如果有多个proxy server,那么nginx将会根据一定的算法选择合适的server,并转发请求,最终将客户端request相对均衡的分发给多个server。
7.负载均衡算法
“负载均衡”算法需要在upstream区块的首行声明。
1)round-robin:轮询,request将会依次有序的分发给web server。one by one!默认使用此算法。
2)least-connected:最小连接数,请求将会被分发给当前链接数最小的server。配置名“least_conn”。
3)ip-hash:根据请求的客户端IP作为hashing key,来判定选择哪个server。配置名“ip_hash”。
能够影响负载均衡策略的还有一个重要的参数:权重
8.健康检测
upstream backend {
server 192.168.1.110 weight=3 max_fails=3 fail_timeout=10s;
server 192.168.1.120;
server 192.168.1.130;
}
对于负载均衡是必须的,这是提供可用性、“故障迁移”的必要手段。比如当某个server失效,请求未能正常处理,那么我们应该将分发给那些“正常”的server,并将故障的server从列表中移除,直到它恢复,以避免后续更多的请求处理失败。nginx当与一个server建立链接失败后,会在“fail_timeout”时间内最多尝试“max_fails”次,如果仍为失败,则将次server标记为“failed”,并从服务列表中移除。默认“max_fails”为1,如果“max_fails”为0,则表示关闭“健康检测”;“fail_timeout”(默认位10s)表示检测多久后被标记为“failed”,nginx会以优雅的方式检测那些失效的server,如果它们再次上线,则将它们标记为“alive”,即可继续提供服务。
相关文章推荐
- jQuery 中一些细节知识点2(本文会持续更新)
- 11_Servlet的一些细节知识点
- 关于打飞机项目的一些细节知识点
- 指针以及一些补充知识点
- qt中xml的一些补充知识点
- 关于新创建一个虚拟机以及多台机器ssh无密登录的一些细节问题补充
- Android中消息机制中一些细节知识点
- c/c++一些容易遗忘的知识点(不断补充)
- vim一些自己常用到的知识点,不断补充。。
- python——深浅copy 及一些补充知识点
- Nginx http 一些小知识点
- 编写nginx的http模块需要注意一些细节
- centos6.4 nginx php mysql 编译安装一些补充事项
- 11.Activity的一些知识点补充
- jQuery 中一些细节知识点2(本文会持续更新)
- Java中的一些小细节,小知识点
- jQuery 中一些细节知识点(本文会持续更新)
- 【c++ 一些比较细节的知识点】函数指针
- nginx一些需要注意的细节
- Swift开发UITableView常用的一些细节知识点介绍