安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

Nginx,一看就会

3月7日 飞仙轩投稿
  前言
  关于Nginx,你了解多少一、Nginx简介
  Nginx(enginex)是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
  1。1WEB服务器
  Nginx可以作为静态页面的web服务器,同时还支持CGI协议的动态语言,比如perl、php
  等。但是不支持java。Java程序只能通过与tomcat配合完成。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达50000个并发连接数。
  1。2反向代理
  1。正向代理,代理客户端,客户端需要配置代理
  2。反向代理,代理服务端,客户端无感知
  1。3负载均衡
  Nginx的异步框架可以处理很大的并发请求,把这些并发请求hold住之后就可以分发给后台服务端(backendservers,也叫做服务池,后面简称backend)来做复杂的计算、处理和响应,这种模式的好处是相当多的:隐藏业务主机更安全,节约了公网IP地址,并且在业务量增加的时候可以方便地扩容后台服务器。
  这时候集群的概念产生了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服器,也就是我们所说的负载均衡。
  1。4动静分离
  为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。
  Nginx部署静态资源,tomcat部署动态资源二、安装启动
  Nginx官网
  2。1相关安装包
  pcre8。37。tar。gzopenssl1。0。1t。tar。gzzlib1。2。8。tar。gznginx1。11。1。tar。gz
  2。2安装流程
  2。1。1。安装pcre解压缩pcrexx。tar。gz包
  进入解压缩目录,执行。configure
  如果提示,需要提前安装gcc,进入安装光盘目录的软件包(mediaCentOSXXPackage)执行
  rpmivhlibstdcdevel4。4。717。el6。x8664。rpm
  rpmivhgccc4。4。717。el6。x8664。rpm
  。configure完成后,回到pcre目录下执行make,再执行makeinstall
  2。2。2。安装openssl
  解压缩opensslxx。tar。gz包。
  进入解压缩目录,执行。config
  makemakeinstall
  2。2。3。安装zlib解压缩zlibxx。tar。gz包。
  进入解压缩目录,执行。configure。
  makemakeinstall
  2。2。4。安装nginx
  解压缩nginxxx。tar。gz包。
  进入解压缩目录,执行。configure。
  makemakeinstall
  查看开放的端口号
  firewallcmdlistall
  设置开放的端口号
  firewallcmdaddservicehttppermanent
  sudofirewallcmdaddport80tcppermanent
  重启防火墙
  firewallcmdreload
  2。3Nginx启动
  命令
  启动命令:在usrlocalnginxsbin目录下执行。nginx
  关闭命令:在usrlocalnginxsbin目录下执行。nginxsstop
  重新加载命令:在usrlocalnginxsbin目录下执行。nginxsreload
  设置nginx为自启动服务
  修改linux启动脚本etcrc。drc
  加入:usrlocalnginxsbinnginx三、Nginx核心配置文件
  nginx安装目录下,其默认的配置文件都放在conf目录下,而主配置文件nginx。conf也在其中,后续对nginx的使用基本上都是对此配置文件进行相应的修改。workerprocesses1;events{workerconnections1024;}http{includemime。keepalivetimeout65;server{listen80;location{indexindex。htmlindex。}}}
  根据上述文件,我们可以很明显的将nginx。conf配置文件分为三部分
  第一部分:全局块
  从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令,主要包括配置运行Nginx服务器的用户(组)、允许生成的workerprocess数,进程PID存放路径、日志存放路径和类型以及配置文件的引入等。
  比如上面第一行配置的:workerprocesses1;
  这是Nginx服务器并发处理服务的关键配置,workerprocesses值越大,可以支持的并发处理量也越多,但是会受到硬件、软件等设备的制约。
  第二部分:events块events{workerconnections1024;}
  events块涉及的指令主要影响Nginx服务器与用户的网络连接,常用的设置包括是否开启对多workprocess下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个wordprocess可以同时支持的最大连接数等。
  上述例子就表示每个workprocess支持的最大连接数为1024。
  这部分的配置对Nginx的性能影响较大,在实际中应该灵活配置。
  第三部分:http块http{includemime。keepalivetimeout65;server{listen80;location{indexindex。htmlindex。}}}
  这算是Nginx服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。
  需要注意的是:http块也可以包括http全局块、server块。
  http全局块
  http全局块配置的指令包括文件引入、MIMETYPE定义、日志自定义、连接超时时间、单链接请求数上限等。
  server块
  这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。
  每个http块可以包括多个server块,而每个server块就相当于一个虚拟主机。
  而每个server块也分为全局server块,以及可以同时包含多个locaton块。
  全局server块
  最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或IP配置。
  location块
  一个server块可以配置多个location块。
  这块的主要作用是基于Nginx服务器接收到的请求字符串(例如servernameuristring),对虚拟主机名称(也可以是IP别名)之外的字符串(例如前面的uristring)进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行。四、Nginx配置实战反向代理
  案例配置如下:server{listen80;location{proxypasshttp:localhost:8001;}locationdemo1{proxypasshttp:localhost:8001;}locationdemo2{proxypasshttp:localhost:8002;}}
  location指令说明
  该指令用于匹配URL,语法如下:location〔〕url{}
  :用于不含正则表达式的uri前,要求请求字符串与uri严格匹配,如果匹配
  成功,就停止继续向下搜索并立即处理该请求。
  :用于表示uri包含正则表达式,并且区分大小写。
  :用于表示uri包含正则表达式,并且不区分大小写。
  :用于不含正则表达式的uri前,要求Nginx服务器找到标识uri和请求字
  符串匹配度最高的location后,立即使用此location处理请求,而不再使用location
  块中的正则uri和请求字符串做匹配。
  注意:如果uri包含正则表达式,则必须要有或者标识。五、Nginx配置实战负载均衡
  案例配置如下:http{upstreammyserver{serverlocalhost:8080weight1;serverlocalhost:8081weight1;}server{listen80;location{proxypasshttp:myserverproxyconnecttimeout10;}}
  在linux下有Nginx、LVS、Haproxy等等服务可以提供负载均衡服务,而且Nginx提供了几种分配方式(策略):
  轮询(默认)
  每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
  weight
  weight代表权重,默认为1,权重越高被分配的客户端越多指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
  iphash
  每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
  fair(第三方)
  按后端服务器的响应时间来分配请求,响应时间短的优先分配。六、Nginx配置实战动静分离
  动静分离从目前实现角度来讲大致分为两种:
  1。一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;
  2。另外一种方法就是动态跟静态文件混合在一起发布,通过nginx来分开。
  通过location指定不同的后缀名实现不同的请求转发。通过expires参数设置,可以使浏览器缓存过期时间,减少与服务器之前的请求和流量。具体Expires定义:是给一个资源设定一个过期时间,也就是说无需去服务端验证,直接通过浏览器自身确认是否过期即可,所以不会产生额外的流量。此种方法非常适合不经常变动的资源。(如果经常更新的文件,不建议使用Expires来缓存),我这里设置3d,表示在这3天之内访问这个URL,发送一个请求,比对服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码304,如果有修改,则直接从服务器重新下载,返回状态码200。七、Nginx原理与优化参数配置
  masterworkers的机制的好处
  首先,对于每个worker进程来说,独立的进程,不需要加锁,所以省掉了锁带来的开销,
  同时在编程以及问题查找时,也会方便很多。其次,采用独立的进程,可以让互相之间不会
  影响,一个进程退出后,其它进程还在工作,服务不会中断,master进程则很快启动新的
  worker进程。当然,worker进程的异常退出,肯定是程序有bug了,异常退出,会导致当
  前worker上的所有请求失败,不过不会影响到所有请求,所以降低了风险。
  需要设置多少个worker
  Nginx同redis类似都采用了io多路复用机制,每个worker都是一个独立的进程,但每个进
  程里只有一个主线程,通过异步非阻塞的方式来处理请求,即使是千上万个请求也不在话
  下。每个worker的线程可以把一个cpu的性能发挥到极致。所以worker数和服务器的cpu
  数相等是最为适宜的。设少了会浪费cpu,设多了会造成cpu频繁切换上下文带来的损耗。设置worker数量。workerprocesses4work绑定cpu(4work绑定4cpu)。workercpuaffinity0001001001001000work绑定cpu(4work绑定8cpu中的4个)。workercpuaffinity0000001000000100000010000001000
  连接数workerconnection
  这个值是表示每个worker进程所能建立连接的最大值,所以,一个nginx能建立的最大连接数,应该是workerconnectionsworkerprocesses。当然,这里说的是最大连接数,对于HTTP请求本地资源来说,能够支持的最大并发数量是workerconnectionsworkerprocesses,如果是支持http1。1的浏览器每次访问要占两个连接,所以普通的静态访问最大并发数是:workerconnectionsworkerprocesses2,而如果是HTTP作为反向代理来说,最大并发数量应该是workerconnections
  workerprocesses4。因为作为反向代理服务器,每个并发会建立与客户端的连接和与后端服务的连接,会占用两个连接。
  八、nginx搭建高可用集群
  注意:此部分属于高级技术,近几日会将下面的知识点补充完毕。
  8。1KeepalivedNginx高可用集群(主从模式)
  8。2KeepalivedNginx高可用集群(双主模式)
投诉 评论 转载

建议女人别太节省,这4道美容菜要常吃,别不舍得花钱我家孩子才上三年级,就对她妈的口红、面膜,还有做指甲的那一套等等,十分的感兴趣!不得不感慨一句:女人爱美真的是天性啊!众所周知,衰老是不可逆的,但又不能否认,保养好的女人……布克是时候夺冠了,不想再有去年决赛失利的那种感觉了虎扑03月08日讯太阳球员德文布克近日接受了WSJ杂志的采访。记者:在比赛前你是怎么给自己打气的?你有什么迷信吗?布克:通常是音乐。我把外面发生的事都排除在外,只专……国家电投山东分公司新能源集控中心通过验收7月7日,国家电投山东分公司新能源集控中心正式通过国网山东公司验收,所属场站的调控业务逐步转移至集控中心,实现了对新能源场站远程集中监视和控制,标志着国家电投山东分公司进入实质……孙国文被禁赛4场11日晚间,中国足协纪委会公布了新一批罚单,孙国文因在与浙江队的比赛中被认定实施暴力行为,被禁赛4场,罚款4万元。中超第九轮大连人与浙江队的比赛进行到第71分钟时,孙国文……美国宇航局的哈勃望远镜探测到迄今为止发现的最远单星一组天文学家使用美国宇航局古老的哈勃太空望远镜(HST)观测了迄今为止探测到的最远单颗恒星的光一颗在我们宇宙存在的最初十亿年内诞生的大质量恒星。据估计,它的质量至少是我们太阳质……网传乐视没有老板了,400名员工照常上班,过上了神仙日子冷哥发表于福建也不知道今年是怎么流行起摆烂这个词的在我看来,这绝对不是什么消极的人生态度准确地来说是一门非常妙的生活哲学!万物皆可摆烂但不是……这个早餐多做给孩子吃,口口都是钙,比喝牛奶炒鸡蛋吃强多了这个早餐多做给孩子吃,口口都是钙,比喝牛奶、炒鸡蛋吃强多了。豌豆,富含人体所需的各种营养物质,尤其是含有优质蛋白质,可以提高机体的抗病能力。胡萝卜与豌豆搭配,属于最佳拍档,可明……男性睡前把花椒放进肚脐,坚持一阵,或有4大好处找上门花椒是生活中常见的一种调味品,我们在制作美食时放入花椒不仅能增添香味,调味效果也特别不错,而且花椒还有着一定的药用价值。如今人们不再会为吃穿而发愁,把养生看得越来越重,也……这场春天的约会,我(可填空)了春天里的中国大江南北花开正艳列车穿过花海带来了春的气息山桃红花满上头蜀江春水拍山流(唐)刘禹锡在北京居庸关长城脚下山花相继绽放……技术贴警惕!这6种食物别再二次加热了,吃不完最好扔掉这些食物最好不要二次加热一、菌类食物提到菌类,第一个想到的就是蘑菇,蘑菇经过高温烹饪之后会产生大量的硝酸盐,放在冰箱中低温保存,第二天加热后继续吃的话,进入人体内的……Nginx,一看就会前言关于Nginx,你了解多少一、Nginx简介Nginx(enginex)是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的……宋佳粗臂溜肩,李小冉冷出眼泪,谭松韵美到发光,年度盛典好精彩1月14日下午,CMG首届中国电视剧年度盛典红毯举行,主持人冯硕、张舒越率先亮相,与红毯嘉宾精彩互动。同为央视主持人,张舒越颜值气质俱佳,比她大11岁的冯硕也是笑容满面,……
中国男篮首战不敌韩国韩媒他推倒了长城十万个为什么之天冷别再炒菜了,这8道蒸菜好吃不上火,热乎乎香喷喷顿顿必光盘开得爽还省油,入露营坑买这种车就对了三张图看明白哈勃韦伯区别新倩女幽魂再次联动国风动漫,追光力作新神榜杨戬正式上映欧文联手东契奇,1换4方案出炉,西部格局大改,湖人坐不住一条电热毯引发的跨境电商思考不同编程语言有哪些差异?如何选择入门语言?晋级男单八强!WTT新加坡赛马龙32逆转王楚钦我国首个智慧化发射场投入使用小凤仙蔡锷真情还是假意,晚年总看蔡锷照片,蔡锷儿子自作多情

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利