ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:448.58KB ,
资源ID:12596132      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12596132.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Nginx 错误处理方法.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Nginx 错误处理方法.docx

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

2、a运行环境,JDK 2、Tomcat7.0.65压缩版 下载 3、Nginx1.8.1稳定版 下载本文基于win10进行配置配置步骤1、JDK环境配置 略2、Tomcat安装配置 请参考: 一台服务器安装运行多个Tomcat及注册服务 本测试安装两个Tomcat,端口分别是8801和8802 安装配置完成后请确保每一个Tomcat可以正常访问为了区分两个Tomcat,本文将第二个Tomcat的页面名称改为:Apache Tomcat/7.0.65-23、Nginx配置1. 解压Nginx到D盘根目录 2. 修改Nginx配置#user nobody;worker_processes 1; #工

3、作进程的个数 #error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events worker_connections 1024; #单个进程最大连接数http include mime.types; #文件扩展名与文件类型映射表 default_type application/octet-stream; #默认文件类型 #access_log logs/access.log main; sendfile on; #开启高效文件

4、传输模式 #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #长连接超时时间,单位是秒 #gzip on; #启用Gizp压缩 #服务器的集群 upstream tomcatColony #服务器集群名字 server 127.0.0.1:8801 weight=0; server 127.0.0.1:8802 weight=1; server listen 8080; #监听端口,默认是80,可以修改 server_name localhost; #当前服务的域名 location / proxy_pass ; #指定使用

5、集群 proxy_redirect default; error_page 500 502 503 504 /50x.html; location = /50x.html root html; 注意:nginx在配置upstream时,有两个参数: ip_hash(同一IP一直使用同一台server服务) weight(server的使用权重,数值越大,nginx分发的请求越多) 1. 启动Nginx Nginx目录下:D:nginx-1.8.1,运行nginx.exe,即可启动。启动可查看进程 效果访问:,即可打开Tomcat,通过不断F5刷新,可以观察在Tomcat1、2之间切换,由于集群

6、中Tomcat2权重配置较大,所有Tomat分配到Tomcat的几率就大一些。Windows服务器nginx+tomcat服务负载均衡 一.安装两个tomcat服务自启动1. 解压两个tomcat,名称为分别1,22. 配置环境变量3. 修改文件server.xml中的三个端口号,使得两个tomcat不冲突 (1) (2) (3)4. 修改tomcat bin目录下的三个文件(catalina.bat、startup.bat、shutdown.bat),分别对应环境变量中的CATALINA_HOME,CATALINA_BASE 例如修改tomcat2: (1)将catalina.bat下的%C

7、ATALINA_HOME%改为%CATALINA_HOME2%,%CATALINA_BASE%改为%CATALINA_BASE2%(可以全部替换) (2)将startup.bat和shutdown.bat下的%CATALINA_HOME%改为%CATALINA_HOME2%5. tomcat注册为服务 修改 bin目录下service.bat文件 例如tomcat2:(1)将service.bat下的%CATALINA_HOME%改为%CATALINA_HOME2%,%CATALINA_BASE%改为%CATALINA_BASE2%(2)将默认的Service name修改为想要的,比如Tom

8、cat8.2(也可以注册的时候在指定名字),DISPLAYNAME是在windows服务列表显示的名称。DOS窗口进入tomcat的bin目录并执行命令注册服务:service.bat install Tomcat8.2(不写就是默认服务名)表示安装成功。服务里出现两个tomcat6. tomcat启动关闭命令 (1)dos启动:net start tomcat8 (2)dos关闭:net stop tomcat8 (3)删除服务:service.bat remove二. nginx 负载均衡 1.nginx注册成服务 2. 配置nginx.conf 文件 nginx 的 upstream默认

9、是以轮询的方式实现负载均衡,还可以增加权重weight=1来改变轮询的几率#gzip on; upstream tomcat_service server 127.0.0.1:8080; /如果使用localhost,请求会很慢 server 127.0.0.1:8090; # upstream tomcat_service # server 127.0.0.1:8080 weight=1; # server 127.0.0.1:8090 weight=2; # server listen 80; server_name localhost; #charset koi8-r; #access_

10、log logs/host.access.log main; location / proxy_pass ; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 100; proxy_send_

11、timeout 100; proxy_read_timeout 100; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_ 64k; 三. 重启nginx,把tomcat欢迎页(root/index.jsp)修改下用于区分是否访问的不同tomcatWindows+Nginx+Tomcat整合的安装与配置学习笔记 以下全部是nginx在window7下运行的;nginx学习总结:我的是放在F盘1、启动:F:nginx-1.10.2nginx-1.10.2start nginx.e

12、xe(找到相应的路径,直接运行nginx.exe也可以)注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。2、停止:F:nginx-1.10.2nginx-1.10.2nginx.exe -s stop(或者nginx.exe -s quit)注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。3、重新载入Nginx:F:nginx-1.10.2nginx-1.10.2ginx.exe -s reload注:当配置信息修改,需要重新载入这些配置时使用此命令。4、重新打开日志文件:F:nginx-1.10.2

13、nginx-1.10.2nginx.exe -s reopen5、查看Nginx版本:F:nginx-1.10.2nginx-1.10.2nginx -v6、测试nginx是否启动成功:F:nginx-1.10.2nginx-1.10.2nginx -t以上是一些经常用到的命令;完整实例:1、到官网下载nginx;下载到f盘;2.启动nginx;3.访问页面t可以看到欢迎界面;4.我们可以看到nginx文件夹内有一个conf文件夹,其中有好几个文件,其他先不管,我们打开nginx.conf,可以看到一段:这段代码在server里面,相当于一个代理服务器,当然可以配置多个。下面我们仔细来分析一下

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

15、。下面的error_page是代表错误的页面,这里我们暂时不用,先不管它。那我们知道了具体的配置了,怎么让它访问localhost时转到tomcat时。实际上就修改两个地方:server_name localhost:8080; location / proxy_pass ; 我们就修改了上面两个地方,我的tomcat在8080端口,可以根据自己的需要修改。这里有一个新元素proxy_pass,它表示代理路径,相当于转发,而不像之前说的root必须指定一个文件夹。此时我们修改了文件,是不是就意思着必须先关了nginx再重新启动了,其实不必,nginx可以重新加载文件的。我们直接运行:如果不想直

16、接加载,而只是想看看自己的配置文件有没有问题,可以直接输入:这可以检查配置文件中是否有错。一切没问题了,然后我们再重新打开t,我们看到下面的页面:这时,我们发现它并不是刚才的welcome页面了,而是tomcat的管理页面了,不管我们点击什么链接都是没问题的,相当于直接访问0一样。如果想让本地的nginx转发你想要的网址,直接修改nginx.conf的proxy_pass地址就可以了;Nginx 错误处理方法: bind() to 0.0.0.0:80 failed 今天启动window上的nginx总是报错错误信息是bind() to 0.0.0.0:80 failed (10013: An

17、 attempt was made to access a socket in a way forbidden by its access permissions)大概意思是 nginx listen的80后端口被占用 于是XX了下查看端口的命令运行cmdC:netstat -aon|findstr 80TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448端口被进程号为2448的进程占用,继续执行下面命令:C:tasklist|findstr 2448thread.exe 2016 Console 0 16,064 K很清楚,thread占用了你的端口,Kill

18、it如果第二步查不到,那就开任务管理器,进程查看选择列pid(进程位标识符)打个勾就可以了看哪个进程是2448,然后杀之即可。另外,强制终止进程:CMD命令:taskkill /F /pid 1408其实上面我都还没解决问题 最后发现有个http.d 这个是apache的进程 结束了这个进程nginx才启动了如果朋友们使用的phpstudy这个集成软件,那么你在使用它的nginx的时候就要注意了,如果你的listen端口不是80,但是还是出现了上述的错误,那么你要去看看 include vhost.conf里的配置Nginx + Tomcat + HTTPS 配置原来不需要在 Tomcat 上

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

20、理啊。然后潜心搜索终于找到了解决方案。原来却是如此的简单。 最终配置的方案是浏览器和 Nginx 之间走的 HTTPS 通讯,而 Nginx 到 Tomcat 通过 proxy_pass 走的是普通 HTTP 连接。 下面是详细的配置(Nginx 端口 80/443,Tomcat 的端口 8080): Nginx 这一侧的配置没什么特别的: ?123456789101112131415161718192021222324252627282930upstream tomcat server 127.0.0.1:8080 fail_timeout=0;# HTTPS serverserver li

21、sten 443 ssl;server_name localhost;ssl_certificate /Users/winterlau/Desktop/SSL/oschina.bundle.crt;ssl_certificate_key /Users/winterlau/Desktop/SSL/oschina.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / proxy_set_header

22、 X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-Proto https;proxy_redirect off;proxy_connect_timeout 240;proxy_send_timeout 240;proxy_read_timeout 240;# note, there is not SSL here! plain HTTP is usedproxy_pass ;其中最为关键的就是 ssl_certificate 和 ss

23、l_certificate_key 这两项配置,其他的按正常配置。不过多了一个 proxy_set_header X-Forwarded-Proto https; 配置。 最主要的配置来自 Tomcat,下面是我测试环境中的完整 server.xml: ?12345678910111213141516171819202122上述的配置中没有什么特别的,但是特别特别注意的是必须有 proxyPort=443,这是整篇文章的关键,当然 redirectPort 也必须是 443。同时 节点的配置也非常重要,否则你在 Tomcat 中的应用在读取 getScheme() 方法以及在 web.xml 中配置的一些安全策略会不起作用。 怎么样,简单到一塌糊涂吧!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1