码迷,mamicode.com
首页 > 其他好文 > 详细

nginx 实战笔记

时间:2015-05-24 21:55:42      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

一、nginx 的优势:

1、内置的健康检测功能,即使后台服务器宏基也不会影响前台的影响

2、支持gzip

3、稳定性高,nginx作为反向代理服务器,宏基的概率很小

4、支持热部署

二、nginx 的压缩输出配置:

1、 gzip是一种压缩技术,经过gzip压缩后页面大小可以变为原来的30% 或这更小,这样 用户浏览页面的时候速度会快得多。gzip的压缩页面需要浏览器和服务器双方都支持,实际上服务器端压缩,传到浏览器后浏览器解压并解析,这样就减少了带宽,速度就上去了

 

三、nginx 虚拟主机的配置:

1、ip 我们可以在同一个mac下添加多个ip别名进行多个虚拟主机的配置。

2、使用域名配置多个虚拟主机

3、使用端口号配置多个虚拟主机

四、nginx 支持每个server(虚拟主机有自己的日志)

1、log_format 语法: log_format name  format 通过这个语法指定日志的格式

2、access_log 指令来指定日志存储的路径

3、open_log_file_cache  on/off 开启禁用日志缓存,这个指令下面有如下几个参数:max 设置缓存中的最大文件描述符数量,inactive:在指定的时间内没有使用指定的文件描述符则删除这个描述符。Min_uses:如果在inactive指定的时间内使用次数超过这个数则放入 缓存 。Valid: 设置多长时间检查一次。

技术分享

五、本地浏览器缓存设置:

1、

# expires 缓存设置的作用域可以是http、server、location

            expires      30d;

六、在linux 下不停用nginx服务的情况下平滑变更nginx 配置,也就是平滑的重启nginx服务

1、kill - HUP …/nginx.pid (nginx.pid 这个文件中存放这nginx进程号)

 

七、nginx的负载均衡和反向代理的配置和优化

1、负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无需其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求平均分配到对称结构中的某一台服务器上,而接受到请求的服务器独立的回应客户端的请求。

2、反向代理:

反向代理是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

 

八、nginx 负载均衡的httpupstream 模块

1、在前面说过upstream 做负载均衡有两种:一种是轮询,一种是ip_hash,在轮询中就是将客户端的请求一次分配到后端服务器集群上的每一台上。而ip_hash 详细看看!
2、如果负载均衡使用的是ip_hash 则ip_hash指令能够将某个客户端ip的请求通过哈希算法定位到同一台后端服务器上。这样当来自某个ip的用户在后端web服务器a上登录后,再访问该站点的其他url,能保证其访问的还是后端web服务器A。如果不采用ip_hash指令,假设来自某个ip的用户在后端服务器A上登录后,在访问该站点的其他url,有可能被分配到后端B,C,D服务器上,由于用户登录后session信息是记录在服务器A上的所以B,C,D没有所以这是提示未登录。

3、通过上面的描述发现如果负载均衡使用ip_hash的话无法保证后台服务器的负载均衡。

4、 重点: 如果负载均衡使用了ip_hash 则如果要停用一个后台服务器则应该在server 后面写down 而不是直接删除或注释,如果注释或删除则计算ip_hash 时可能会到其他服务器上不能到原来那台,而如果是down了则计算的时候还是按照原来的个数计算,所以之前的ip还是能分配到之前的后台服务器上。

5、

 技术分享

九、nginx负载均衡服务器的双机高可用

 

1、两台服务器,一台是空闲的一台作为负载均衡服务器,如果负载均衡服务器down了则空闲的那一台就顶替他作为负载均衡服务器

2、两台服务器都做负载均衡服务器,而请求是通过轮询的方式来分布到两台服务器上的,如果某一台出现问题则另一台会代替他

 

十、rewrite

1、nginx的rewrite主要的功能就是实现url的重写.

 

 

十一、nginx 的每一个进程

1、nginx的每一个进程都耗10-12 m内存

十二、include指令

1、include 这个指令可以引入任何配置文件

十三、pid指令

1、pid文件内记录着当前nginx主进程的id号,可以通过kill命令发送信号给该id号,列如重新加载nginx配置文件完成平滑重启: kill -HUP ‘*/logs/nginx.pid‘,这样就是之前的进程不会在接受请求,但也不会立即停止,他会把当前已经进行的请求执行完之后在down,而新请求直接由新开启的进程接收处理。


nginx 实战笔记

标签:

原文地址:http://blog.csdn.net/qh_java/article/details/45955727

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!