nginx错误处理方法_第1页
nginx错误处理方法_第2页
nginx错误处理方法_第3页
nginx错误处理方法_第4页
nginx错误处理方法_第5页
免费预览已结束,剩余12页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、v1.0可编辑可修改Nginx (“engine x ”)是一个高性能的 HTTP和反向代理服务器,也是一个IMAP/P0P3/SMTP弋理服务器。Ngi nx是由Igor Sysoev 为俄罗斯访问量第二的 站点开发的,它已经在该站点运行超过两年半了。Igor将源代码以类BSD许可证的形式发布。Nginx超越Apache的高性能和稳定性。Nginx+Tomcat是目前主流的Java web架构,很多公司在使用,Nginx+Tomcat通过 简单的配置,可以实现高性能的负载均衡,通过本文学习,可以实现Ngi nx+Tomcat负载均衡。工具资源1、Java运行环境,JDK2、压缩版下载3、稳定

2、版下载本文基于win10进行配置配置步骤1、JDK环境配置略2、Tomcat安装配置请参考:一台服务器安装运行多个 Tomcat及注册服务本测试安装两个Tomcat,端口分别是8801和8802安装配置完成后请确保每一个 Tomcat可以正常访问为了区分两个 Tomcat,本文将第二个 Tomcat的页面名称改为:Apache Tomcat/、 Nginx配置1. 解压Nginx到D盘根目录共事 查看,卜比电胭 > 新加卷:)、nginx-tajA楼改日期大小p 112016/1/26 17141ccrtrib2016/1/26 1712016/1/26 17;41html2016/1/

3、25 17141#- togs2016/12/7 9:30件 Ttemp£016/12/7 9;鸽riginxexeJ016/1/26 17:4O2;702.3. 修改Nginx配置#user n obody; worker_processes 1; #工作进程的个数#error_log logs/;#error_log logs/ no tice;#error_log logs/ info;#pid logs/;eve nts worker_co nn ectio ns 1024; #单个进程最大连接数http in clude; #文件扩展名与文件类型映射表default_typ

4、e applicati on/o ctet-stream; #默认文件类型#access_log logs/ main;sen dfile on; # #tcp_ no push on;#keepalive_timeout 0; keepalive_timeout 65; #gzip on; # 启用 Gizp 压缩#服务器的集群 upstream tomcatCo lony #server weight=0;server weight=1;server liste n 8080; # server_ name localhost; #locati on / proxy_pass ; # pr

5、oxy_redirect default;开启高效文件传输模式长连接超时时间,单位是秒服务器集群名字监听端口,默认是80,可以修改 当前服务的域名指定使用集群error_page 500 502 503 504 /;locati on = / root html;注意:nginx在配置upstream时,有两个参数:ip_hash (同一 IP 一直使用同一台 server 服务)weight (server的使用权重,数值越大,nginx分发的请求越多)1. 启动 Nginx2. Nginx目录下:,运行,即可启动。启动可查看进程_ 曲性能S用历史记录自动用户详细佶息A15%62%1%0%窖

6、称CPU円乎涯网络> 画 Local Manageability Servi« (22 崗0%0.6 MBQ MB/V0 Mbps|T Microphone Mute 匚ontiroll Service for.0%0.2 MB0 MB丹0 Mbps申 Microsoft IME0%1.6 MB00 Mbp-s应目 Microsoft IMF0%0.9 MB0 ME血0 Mbp-s:,.Windows 沁目di 吾弓 H0%52 MfiQMB/VQ Nib戸MindManager Topic A.lerts (32 ®0%0-3 MB0 MB/V0 Mbps3 mye

7、clip-5e,ej(e0.6 MB0 MB於D Mbps|T?0%0.5 M0 MB/fe'0 Mbps右 nglnx.exe (32 位)0%1.3 MB0 MB/fcS?0 Mbps石 nginx.exe (32 他0%1,0 MBa MB/t?0 MbpsEHI NurnLock on screen display for Think.rm0.5 MBD MB®0 MbpsFh| Or screen dkplay drawer0%0.4 MB0 MB用 MbpsLi Pr esent ati o n Fo ntCac h&. exe0.1 MB00 MbpsP

8、 python, exe0%0.1 MB0 MB/秒0 Mbps>_EE QQOP进程CQJ§ 32 &0%1.9 MB00 Mbps简曙告恳:D)3.效果访问:,即可打开 Tomcat,通过不断F5刷新,可以观察在 Tomcatl、2之间切换, 由于集群中Tomcat2权重配置较大,所有 Tomat分配到Tomcat的几率就大一些。Windows服务器nginx+tomcat服务负载均衡一.安装两个tomcat服务自启动1. 解压两个tomcat,名称为分别1,2IU k这台电篦卜新力【卷(D:) k appuv«bI名称4格改日期dpach'tom

9、cdtl2016/11/;j. psclie-tomcat22016/12. 配置环境变量值A匚 ATALINA.BASED:a ppwe ba p ache-tomc at1CATAUNAtBASE2D:a ppweb a p ache-to m c at2CATAUNA_HOMED:a ppwfrbdpachff-tomcat1CATAUNA_HOME2iD:曰 ppwebap 曰匚 he-tomcaitSI V In3. 修改文件中的三个端口号,使得两个tomcat不冲突(1)vServer port=" 8005" shutdown="SHUTDOWN&q

10、uot;>(2)vConnector port=" 8080" protocol="HTTP/"connectionTimeout="20000" redirectPort="8443" />(3)vConnector port=" 8009" protocol="AJP/" redirectPort="8443" />4. 修改tomcat bin 目录下的三个文件(、),分别对应环境变量中的CATALINA_HOMECATALINA_

11、BASE例如修改tomcat2 :(1)将下的 %CATALINA_HOM改为 %CATALINA_HOME2%CATALINA_BASE%为 %CATALINA_BASE2%可以全部替换)(2)将和下的 CATALINA_HOM改为 CATALINA_HOME2%5. tomcat注册为服务修改bin目录下文件例如 tomcat2 :(1) 将下的 CATALINA_HOM改为 CATALINA_HOME2%CATALINA_BAS改为 CATALINA_BASE2%(2) 将默认的Service name修改为想要的,比如(也可以注册的时候在指定名字),DISPLAYNAM是在w indo

12、ws服务列表显示的名称。rem Set defauL七 Service nameSERVICENnUE-roxcatS.2set DISPLAYNAME =Apache Tcmaai; 3.0/:,DOS窗 口进入tomcat的bin目录并执行命令注册服务:in stall(不写就是默认服务名)The erwice 5 ToEca'zB' has been installed表示安装成功。服务里出现两个tomcat“任勞菅理器文样(E)钢进程I性能I用户丨闢信息丨 宓容称丁PID牺述UALSVC1460User Access Legging Service正在运行Local S

13、y stem.Trusted In st a Iler'C'/fndows Modules Installer已停止SfclrkWks1460Distributed Link Tracking CliemtLocal System5908Apache Tomcst 8.0 temt启正在运行tomcatS57&3Apache Tomcat 8.0 tomcatH汗幵译行TieringEngincServiceStorage Tiers Management已停止THREADORDERThread Ordering Server已停止Local £ervi 匚亡

14、Themes952Themes正在运行netsvrsTermServi ce2204Rernde Desktop Services正在运行lermsves6. tomcat 启动关闭命令(1) dos 启动:net start tomcat8(2) dos 关闭:net stop tomcat8(3) 删除服务:remove二.nginx 负载均衡1. nginx注册成服务2. 配置文件nginx 的upstream默认是以轮询的方式实现负载均衡,还可以增加权重weight=1来改变轮询的几率朿#gzip on;upstream tomcat_service server酸重启nginx,把t

15、omcat欢迎页(root/ )修改下用于区分是否访问的不同tomcatWindows+Nginx+Tomcat整合的安装与配置学习笔记以下全部是nginx在window7下运行的;nginx学习总结:我的是放在F盘1、 启动:F:(找到相应的路径,直接运行也可以)注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。2、停止:F:-s stop (或者-s quit )注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。3、重新载入 Nginx : F:-s reload注:当配置信息修改,需要重新载入这些配

16、置时使用此命令。4、重新打开日志文件: F:-s reopen5、查看 Nginx 版本:F: -v6、 测试nginx是否启动成功:F:-t以上是一些经常用到的命令;完整实例:1、到官网下载 nginx ;n£inx: down!oudNtcnrlLship y c cdcMiloadgIjuaAiuiitracsdklIL irLEinfe/'Wt nd5w*-l _ IL 6Stable rersionnFiir:¥-1 -10 2P.TnzTn;,rWT nd iws -1 _ lli. 2M匸l.RflHCY wr-ri onn、CHANGAS-l.arj

17、iJr.a-L S. 1E 口nilu/IHnou! -l.fi. 1ooasTLS"iiui-L 6_ 3匚OR : HI_r'W: HG JWE L E jCHjIOGSS-I. 4HEira-1, 4. 7i t £5 nsc /Wi ndowsl 4.1OWKES 1. 2MlM-l 二.0nrlnx 'Wtudswa 1 2 j£££ H-JJ:-. nsinaL Ol 15laE:mdTuyWindjwE-L Qr 15t:砒工:町益-工3nrimP" 8, 55-0 - 8, 了5EECnalrur-n.

18、匕 63nt' iix/lPtni jwu-0 Y.朝CMCHMKE£-t). 6npini:一丄 6. 33EaE-匚耐肿益-05neir.jf-" 5 33.lalolinji? vorsiion下载到f盘;2.启动 nginx ;F : 'Miginx-1.10*25 sfinx-J-2審t谎尸t nginxex仔3. 访问页面;cy "c lEKJhm ST© ;Hello shafei:Welcome to nginx!ti you (his 陶已the ngimc w曲 知阳l石弓If祐tailed andwaicInQ Fu

19、ifh CoiifIgwiaUopfeFor cnllne doc umenteti-m and support please refer tn nglna-orj.CcnTnercial support rs jva kibk at ngiiw.cgm,祁加F 阳 临”缺M 厲商料4. 我们可以看到nginx文件夹内有一个 conf文件夹,其中有好几个文件,其他先不管,我们打开,可以看到一段:这段代码在server里面,相当于一个代理服务器,当然可以配置多个。下面我们仔细来分析一下:listen :表示当前的代理服务器监听的端口,默认的是监听80端口。注意,如果我们配置了多个server,这

20、个listen要配置不一样,不然就不能确定转到哪里去了。server_name :表示监听到之后需要转到哪里去,这时我们直接转到本地,这时是直接到nginx文件夹内。location :表示匹配的路径,这时配置了/表示所有请求都被匹配到这里root :里面配置了 root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文 件,这里对我们之后的静态文件伺服很有用。index :当没有指定主页时,默认会选择这个指定的文件,它可以有多个,并按顺序来加载,如果第一个不存在,则找第二个,依此类推。下面的error_page是代表错误的页面,这里我们暂时不用,先不管它。那我们知道了具体的配置了

21、,怎么让它访问localhost 时转到tomcat时。实际上就修改两个地方:server_ name localhost:8080;locati on / proxy_pass ;我们就修改了上面两个地方,我的tomcat在8080端口,可以根据自己的需要修改。这里有一个新元素proxy_pass ,它表示代理路径,相当于转发,而不像之前说的root必须指定一个文件夹。此时我们修改了文件,是不是就意思着必须先关了nginx再重新启动了,其实不必,nginx可以重新加载文件的。我们直接运行:F;iginx1 10-2xJisfinx1 .10.2>nginx 吞 re load如果不想直

22、接加载,而只是想看看自己的配置文件有没有问题,可以直接输入F : Xnyinx-1,10- 2nffinx'l,10.2>nginx -t这可以检查配置文件中是否有错。一切没问题了,然后我们再重新打开,我们看到下面的页面:liXdlhOStApache Software Foundationhttp : / /www.apctiB. d r g /XCufn护歸曲伽ICai Dd化冋iprTiTo.ti OrrrrtHOM Fft漣E£0一 一,一 LJ 対 s WlmmL 出Hi _. ._ L r _.-_ .H ycMj-rw iwng Wiin page vl&

23、#171; i wrU i&rowwr. Il rntim jrwjiVt lieW tomot vucettiiiy. CoiianmjlMtiDnt"M ytnu rnev lw# gusud bv now, itia slfw tjff Tomsl horns 时 hcMl» foirKl on re loca ll#wsl»m ar$catazi na_hcme7 wefcaFp-B/RaoT/ Index hcmi"SCAIALlNAHOIrfE9 is Iw mot uf the Tomral inslanabon dnctoiy I

24、F 仲lira seeing 1hs page- and vou deni Ihink dli should tx. Itwi ou'fb altiar a user who h#s anlwl A nw HleMbm ol 伽El, or 戦So an admin觀丹如r 谕o hssm got IwW 'SShJp qille rant Prawdlno lhe I碱§ W msg Ma開 rgfer to Ihft 站tis BLLiiriEiriiflitKjn fcir rw*aeljp 咅M adrninitibgnn tound 臨 1M (h STAL

25、L %MOTE. F<m »#cuitl reHixvs, MlHig Um rm«HagBr webapp Is rettrlcled to users wttJi t«rtAin rcle bueK managtr-uh'". Usra didenned *1SO.TH. JRA.ffiH 他碑抚4讯谢丄9«1IndudM wrth llu*.昭ar奧i h» of 乂園曲雷舌冒用闿鼻end JSPi- wilft阳号口口眈a #u ice codte 日馳i谄目也丈irmM昌忙龄 nd: n nHroauctory

26、 gu水皿 0 敕占 opirtg w«D app*<fttonsToi£4l rFmiing li引囁 ar# tvM代b峪朋 fhg Err比酬 prefect 石*tar,脚IHpI qutUori rt jfej K corligmirK; and 网up TornctK toitefciiMitif T<ir0 Wrii.il这时,我们发现它并不是刚才的welcome页面了,而是tomcat的管理页面了,不管我们点击什么链接都是没问题的,相当于直接访问,直接修改的proxy_pass地址就可以了;Nginx错误处理方法:bind() to failed

27、今天启动 window上的 nginx 总是报错错误信息是 bind() to failed (10013: An attempt was made to access a socket in a wa y forbidde n by its access permissi ons)大概意思是nginx listen 的80后端口被占用于是百度了下查看端口的命令运行-cmdC:>n etstat -ao n|fin dstr "80"TCP LISTENING 2448端口被进程号为2448的进程占用,继续执行下面命令:C:>tasklist|fi ndstr

28、"2448"2016 Con sole 0 16,064 K很清楚,thread占用了你的端口 ,Kill it如果第二步查不到,那就开任务管理器,进程一查看一选择列一pid (进程位标识符)打个勾就可以了看哪个进程是2448,然后杀之即可。另外,强制终止进程:CMD命令:taskkill /F /pid 1408其实上面我都还没解决问题最后发现有个这个是apache的进程结束了这个进程nginx才启动了如果朋友们使用的 phpstudy这个集成软件,那么你在使用它的nginx的时候就要注意了,如果你的listen 端口不是80,但是还是出现了上述的错误,那么你要去看看in

29、clude里的配置Nginx + Tomcat + HTTPS 配置原来不需 要在Tomcat上启用SSL支持互联网开发模式的经验之谈>>> ?之前在网上搜索到的很多文章在描述 Ngi nx + Tomcat启用HTTPS支持的时候, 都必须在Nginx和Tomcat两边同时配置SSL支持。但我一直在想为什么就不 能按照下面的方式来配置呢就是 Nginx上启用了 HTTPS而Nginx和Tomcat 之间走的却是普通的HTTP连接。但是搜索很多没有解决办法,最后还是老老实 实的Nginx 和Tomcat同时配置的SSL支持。最近给OSChina买了个新的支持*.泛域名的证书,

30、然后我又开始偷懒的想为 什么Tomcat 一定要配HTTPS呢没道理啊。然后潜心搜索终于找到了解决方 案。原来却是如此的简单。最终配置的方案是浏览器和 Nginx之间走的HTTPS通讯,而Nginx到Tomcat 通过proxy_pass 走的是普通HTTP连接。下面是详细的配置(Nginx端口 80/443,Tomcat的端口 8080):Nginx这一侧的配置没什么特别的:1 upstream tomcat 2 server fail_timeout=0;3# HTTPS server5server 6443 ssl;localhost;liste n7server name8ssl_ce

31、rtificatessl_certificate_key/Users/wi nterlau/Desktop/SSL/Users/wi nterlau/Desktop/SSL/;17ssl_sessi on _cacheshared:SSL:1m;ssl_sessi on _timeout 5m;1ssl_ciphers HIGH:!aNULL:!MD5;2ssl_prefer_server_ciphers on;13 location / 1proxy_set_header X-Forwarded-For 4$proxy_add_x_forwarded_for;1proxy_set_heade

32、r Host $http_host;5 proxy_set_header X-Forwarded-Proto https;1proxy_redirect off;6 proxy_c onn ect_timeout240;1proxy_se nd_timeout240;7 proxy_read_timeout240;1# n ote, there is not SSL here! plain HTTP is usedproxy_pass ;92021222324252627282930其中最为关键的就是ssl_certificate 和ssl_certificate_key这两项配置,其他的按正常配置。不过多了一个 proxy_set_header X-Forwarded-Proto https

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论