nginx的简单介绍
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;##设置网站的默认首页
}
nginx的简单介绍的更多相关文章
- WebSocket简单介绍
Java后端WebSocket的Tomcat实现 一.WebSocket简单介绍 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了.近年来,随着HTML5的诞生,WebSoc ...
- Nginx负载均衡介绍
Nginx真心牛逼 nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态.静态页面的分离,可以按照轮询.ip哈希.URL哈希.权重等多种方式 ...
- nginx知识点简单回顾
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- Linux安装Nginx以及简单理解
1.Nginx简单介绍 ①.Nginx:一个高性能的HTTP和反向代理服务器,高并发处理很不错. ②.反向代理:在计算机世界里,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂 ...
- 3.Nginx常用功能介绍
Nginx常用功能介绍 Nginx反向代理应用实例 反向代理(Reverse Proxy)方式是指通过代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并且从内部网络服 ...
- Docker的简单介绍及使用
Docker介绍 Docker是Docker.Inc公司开源的一个基于LXC技术之上构建的Container容器引擎,源代码托管在GitHub上,基于Go语言并遵从Apache2.0协议开源. Doc ...
- nginx搭建简单的图片服务器
传统项目一般实现图片上传的话,都会在tomcat下面建立一个图片文件夹,上传成功后,用户可以直接访问, http://ip:port/project/images/xxx.jpg; 这样在用户量少的时 ...
- web服务的简单介绍及apache服务的安装
一,web服务的作用: 是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档.可以放置网站文件,让全世界浏览: 可以放置数据让全世界下载.目前最主流的三个Web服务器是Ap ...
- 转:Linux下使用Nginx搭建简单图片服务器
最近经常有人问图片上传怎么做,有哪些方案做比较好,也看到过有关于上传图片的做法,但是都不是最好的,今天再这里简单讲一下Nginx实现上传图片以及图片服务器的大致理念. 如果是个人项目或者企业小项目,仅 ...
随机推荐
- BOSCH汽车工程手册————驾驶员辅助系统
根据交通事故统计得出平均每分钟有一人死于交通事故 而辅助驾驶系统能够为驾驶员洞察了解汽车周围情况,识别危险的行驶状况. 提早为驾驶员告诉危险信息,可减少60%汽车驶上主路事故和1/3汽车前碰事故. 有 ...
- 浏览器端-3WSchool-JavaScript:JavaScript Boolean 对象
ylbtech-浏览器端-3WSchool-JavaScript:JavaScript Boolean 对象 1.返回顶部 1. Boolean 对象 Boolean 对象表示两个值:"tr ...
- kotlin之数组
一.使用arrayOf函数定义可以存储任意值的数组 var arr1 = arrayOf(1,2,3,'a') println(arr1[3]) 二.使用arrayOfNulls函数定义数组 var ...
- Python中的super()用法
Python中对象方法的定义很怪异,第一个参数一般都命名为self(相当于其它语言的this,比如:C#),用于传递对象本身,而在调用的时候则不 必显式传递,系统会自动传递. 今天我们介绍的主角是su ...
- 十六:jinja2中的if和for
jinja2中的逻辑语句和python中的基本一致,执行逻辑的时候用{% 逻辑关键字 %}开始,{% end逻辑关键字 %}结束 if语句(判断关键字也是一样的,and.or.not···): for ...
- CPU性能监测介绍
CPU的性能监测包含以下部分: * 检查系统运行队列并确保每个核心上不超过3个可运行进程* 确保CPU利用率的用户时间和系统时间在70/30之间* 当CPU花费更多的时间在system mode上时, ...
- Python实现利用最大公约数求三个正整数的最小公倍数示例
Python实现利用最大公约数求三个正整数的最小公倍数示例 本文实例讲述了Python实现利用最大公约数求三个正整数的最小公倍数.分享给大家供大家参考,具体如下: 在求解两个数的小公倍数的方法时,假设 ...
- 深入理解Istio核心组件之Pilot
Istio作为当前服务网格(Service Mesh)领域的事实标准,流量治理(Traffic Management)是其最为基础也最为重要的功能.本文将结合源码对Istio流量治理的实现主体——组件 ...
- C#代码获取另一程序的错误提示,并关闭窗口。
A程序报错弹框如下: B程序捕捉到此错误消息,并关闭.B程序核心代码如下. private void timer_Click(object sender, EventArgs e) { //查找Mes ...
- Python基础知识思维导图|自学Python指南
微信公众号[软件测试大本营]回复"python",获取50本python精华电子书. 测试/开发知识干货,互联网职场,程序员成长崛起,终身学习. 现在最火的编程语言是什么?答案就是 ...