nginx简单介绍

Nginx的负载均衡策略可以分两大类:内置策略和扩展侧略:

内置策略包括:轮询,加权轮询,IP hash

扩展策略是:url hash ,fair

nginx.conf文件结构

1)全局块:

通常配置一运行nginx的组,用户,允许生成的work process数,PID的存放路径

2)events块

支持使用的网络事件模型,每个workprocess可以同时支持的最大连接数

3)http块

包含server块,每个server块又包含location块。

可以在http块中配置包括文件的引入,MIME-Type定义,是否使用sendfile传输文件

4)server块

和虚拟主机相连接,每个server块相当与一台虚拟主机

5)location块

基于nginx服务器收到的请求字符串(例如server_name/uri_string),对除虚拟主机名称(也可以是IP别名)之外的字符串(例如uri_string部分进行)匹配,对特定段请求进行处理,地址定向,数据缓存和应答控制等功能都是在这一部分实现的。

如果有多个匹配就记录匹配最高的那个,然后,服务器再用localtion块的中的正则uri和请求的字符串匹配,当第一个正则匹配成功以后就结束搜索,并使用这个location块处理请求,如果正则失败就使用记录的匹配度最高的localtion块处理这个请求;

location定义的三种方式;

1)location url{} 对当前路径及路径下的所有对象都有效

2)Location =url{} 只对当前路径有效

=要求请求的字符串与uri严格匹配,如果匹配成功,就停止继续搜索;

3)Location ~url{} ~做模式匹配,区分字符大小写

4)Location ~{} 不区分字符大小写

如果uri包含正则表达式 ,就必须使用~或 ~

具体指令

1)设置网络连接的序列话化

Accpet_mutex on

设置为开启的时候,将会对nginx进程连接进行序列化,防止多个进程对连接的争抢,解决惊群现象

2)

location / {
root html; ##收到网络请求后就在指定目录下寻找请求的资源;
index index.html index.htm;#设置网站的默认首页
}

3)Nginx.conf配置内容

**********************全局模块*******************
user nginx nginx; #配置用户和组
#user nobody;
worker_processes 1; #配置运行nginx生成的worker process数 #error_log logs/error.log; #配置nginx进程生成的对错误日志的解析
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; #进程pid的文件的存放路径
**********事件模块********************************
events {
use epoll; #配置事件驱动模型
worker_connections 1024; #配置最大的连接数
}
****************http,server,location模块*********
http {
include mime.types; #定义MIME-Type
default_type application/octet-stream;
sendfile on; #允许使用sendfile方式传输
keepalive_timeout 65; ###配置连接超时间件
server {
listen 80;
server_name localhost;
#access_log logs/host.access.log main;#配置请求日志的存放路径 location / {
root html; #配置请求服务资源的根目录
index index.html index.htm;##设置网站的默认首页
}

最新文章

  1. [Top-Down Approach] Chatper 3 Notes
  2. 找回MSI安装包Win7/Win8管理员身份功能
  3. mybatis实战教程(mybatis in action)之四:实现关联数据的查询
  4. JavaScript Boolean 对象
  5. 用 eric6 与 PyQt5 实现python的极速GUI编程(系列03)---- Drawing(绘图)(1)-- 绘写文字
  6. 自定义NSLog宏输出
  7. 自改xss小平台上线
  8. ie6 7 8 9 firefox的css兼容问题
  9. SPRING IN ACTION 第4版笔记-第三章ADVANCING WIRING-006-给bean运行时注入值(Environment,Property文件)
  10. bzoj1233
  11. HTML的标签使用
  12. hibernate异常:org.hibernate.MappingException
  13. Python第二天课程
  14. 如何让Vim成为我们的神器
  15. SpringMVC源码解读 - HandlerMapping - RequestMappingHandlerMapping请求分发
  16. 12: MyBatis之传入参数parameterType
  17. MAC/Xcode简单操作命令
  18. 《垃圾回收的算法与实现》——Python垃圾回收
  19. 《Python绝技:运用Python成为顶级黑客》 用Python进行无线网络攻击
  20. Ubuntu16.04安装搜狗拼音输入法

热门文章

  1. https的那些坑
  2. Python解决数据样本类别分布不均衡问题
  3. LVS 四层 TCP/UDP 负载均衡器
  4. Python_元组、字典内建方法详解
  5. C#客户端填充外部IE浏览器中网页文本(input)且不提交
  6. JForum论坛安装以及部署(转)
  7. java:easyui(jQueryEasyUI,分页)
  8. Spring-QUARTZ定时任务demo
  9. vim开发配置
  10. maven 报错 -source 1.5 中不支持 diamond 运算符