Nginx+Tomcat在Windows下做负载均衡.docx
- 文档编号:9273304
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:8
- 大小:19.11KB
Nginx+Tomcat在Windows下做负载均衡.docx
《Nginx+Tomcat在Windows下做负载均衡.docx》由会员分享,可在线阅读,更多相关《Nginx+Tomcat在Windows下做负载均衡.docx(8页珍藏版)》请在冰豆网上搜索。
Nginx+Tomcat在Windows下做负载均衡
一、为什么需要对Tomcat服务器做负载均衡:
Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果有超过500的并发数便会出现Tomcat不能响应新的请求的情况,严重影响网站的运行。
另外,在访问量大的情况下,Tomcat的线程数会不断增加。
由于Tomcat自身对内存的占用有控制,当对内存的占用达到最大值时便会出现内存溢出,对网站的访问严重超时等现象,这时便需要重新启动Tomcat以释放占用的内存,这样做便会阻断网站运行。
所以对Tomcat做负载均衡便很有必要。
目前可以和Tomcat做负载均衡的主流服务器是Apache,但是Nginx由于功能多、配置简单等优点逐渐成为很多负载均衡服务器的首选。
Nginx的并发数可达到50000,所以理论上可以和Tomcat以1:
100的比例来配置,这样便可以很好的解决网站并发瓶颈问题。
二、Nginx+Tomcat在Windows下负载均衡配置方法:
Nginx+Tomcat在Windows下做负载均衡相对在Linux下简单不少,因为不论是Nginx还是Tomcat只需要下载Windows下的安装包解压到某个目录下,然后就可以做配置了。
我选择的Nginx是nginx-0.8.49这个版本,Tomcat选择的是apache-tomcat-6.0.26。
下面就是配置过程:
1.将nginx-0.8.49.rar压缩包直接解压到某个目录下(如D:
/负载均衡/nginx)。
2.将apache-tomcat-6.0.26.rar压缩包解压,因为是做负载均衡,所以至少要解压两个。
(如分别解压到D:
/负载均衡/tomcat_1和D:
/负载均衡/tomcat_2下面)。
3.将要发布的项目发布到两个Tomcat根目录下的webapps下,保证两个Tomcat下面的项目名称相同。
4.修改其中一个Tomcat的配置文件,该配置文件位于Tomcat目录下的/conf/下,文件名为server.xml,修改其中的
connectionTimeout="20000" redirectPort="8443"/> 为 connectionTimeout="20000" redirectPort="8443"/> 修改后的文件如下: xmlversion='1.0'encoding='utf-8'? > -- LicensedtotheApacheSoftwareFoundation(ASF)underoneormore contributorlicenseagreements. SeetheNOTICEfiledistributedwith thisworkforadditionalinformationregardingcopyrightownership. TheASFlicensesthisfiletoYouundertheApacheLicense,Version2.0 (the"License");youmaynotusethisfileexceptincompliancewith theLicense. YoumayobtainacopyoftheLicenseat http: //www.apache.org/licenses/LICENSE-2.0 Unlessrequiredbyapplicablelaworagreedtoinwriting,software distributedundertheLicenseisdistributedonan"ASIS"BASIS, WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied. SeetheLicenseforthespecificlanguagegoverningpermissionsand limitationsundertheLicense. --> --Note: A"Server"isnotitselfa"Container",soyoumaynot definesubcomponentssuchas"Valves"atthislevel. Documentationat/docs/config/server.html --> --APRlibraryloader.Documentationat/docs/apr.html--> --InitializeJasperpriortowebappsareloaded.Documentationat/docs/jasper-howto.html--> --Preventmemoryleaksduetouseofparticularjava/javaxAPIs--> --JMXSupportfortheTomcatserver.Documentationat/docs/non-existent.html--> --GlobalJNDIresources Documentationat/docs/jndi-resources-howto.html --> --Editableuserdatabasethatcanalsobeusedby UserDatabaseRealmtoauthenticateusers --> type="org.apache.catalina.UserDatabase" description="Userdatabasethatcanbeupdatedandsaved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml"/> --A"Service"isacollectionofoneormore"Connectors"thatshare asingle"Container"Note: A"Service"isnotitselfa"Container", soyoumaynotdefinesubcomponentssuchas"Valves"atthislevel. Documentationat/docs/config/service.html --> --Theconnectorscanuseasharedexecutor,youcandefineoneormorenamedthreadpools--> -- maxThreads="150"minSpareThreads="4"/> --> --A"Connector"representsanendpointbywhichrequestsarereceived andresponsesarereturned.Documentationat: JavaHTTPConnector: /docs/config/http.html(blocking&non-blocking) JavaAJP Connector: /docs/config/ajp.html APR(HTTP/AJP)Connector: /docs/apr.html Defineanon-SSLHTTP/1.1Connectoronport8080 --> connectionTimeout="20000" redirectPort="8443"/> --A"Connector"usingthesharedthreadpool--> -- port="8080"protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/> --> --DefineaSSLHTTP/1.1Connectoronport8443 ThisconnectorusestheJSSEconfiguration,whenusingAPR,the connectorshouldbeusingtheOpenSSLstyleconfiguration describedintheAPRdocumentation--> -- maxThreads="150"scheme="https"secure="true" clientAuth="false"sslProtocol="TLS"/> --> --DefineanAJP1.3Connectoronport8009--> --AnEnginerepresentstheentrypoint(withinCatalina)thatprocesses everyrequest. TheEngineimplementationforTomcatstandalone analyzestheHTTPheadersincludedwiththerequest,andpassesthem ontotheappropriateHost(virtualhost). Documentationat/docs/config/engine.html--> --YoushouldsetjvmRoutetosupportload-balancingviaAJPie: --> --Forclustering,pleasetakealookatdocumentationat: /docs/cluster-howto.html (simplehowto) /docs/config/cluster.html(referencedocumentation)--> -- --> --Therequestdumpervalvedumpsusefuldebugginginformationabout therequestandresponsedatareceivedandsentbyTomcat. Documentationat: /docs/config/valve.html--> -- --> --ThisRealmusestheUserDatabaseconfiguredintheglobalJNDI resourcesunderthekey"UserDatabase". Anyedits thatareperformedagainstthisUserDatabaseareimmediately availableforusebytheRealm. --> resourceName="UserDatabase"/> --Definethedefaultvirtualhost Note: XMLSchemavalidationwillnotworkwithXerces2.2. --> unpackWARs="true"autoDeploy="true" xmlValidation="false"xmlNamespaceAware="false"> --SingleSignOnvalve,shareauthenticationbetweenwebapplications Documentationat: /docs/config/valve.html--> -- --> --Accesslogprocessesallexample. Documentationat: /docs/config/valve.html--> -- prefix="localhost_access_log."suffix=".txt"pattern="common"resolveHosts="false"/> --> 5.修改Nginx配置文件nginx.conf,该文件位于Nginx根目录下的/conf下面。 ①在#gzip on;后面加入下面配置: upstreambackend{ serverlocalhost: 8080; serverlocalhost: 8088; ip_hash; } 其中serverlocalhost: 8080为第一个Tomcat的启动地址,serverlocalhost: 8088为第二个Tomcat的启动地址,ip_hash用于做session同步。 ②修改第一个server{}配置中的listen 80;改为新的端口号,因为我的本机80端口被IIS占用,因此将此处改为listen800;。 并将 location/{ root html; index index.htmlindex.htm; } 改为: location/{ root html; index index.htmlindex.htm; proxy_pass http: //backend; 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 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 432k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } 其中proxy_pass参数和upstreambackend{}对应。 经过上面这些步骤,负载均衡配置就完成,下面前分别启动两台tomcat,然后双击nginx根目录下的nginx.exe文件或者用startnginx启动nginx,打开浏览器,输入地址: http: //localhost: 800便可看到下面画面: 这说明已经成功跳转到Tomcat上面。 下面以来电秀具体项目为例,输入地址: http: //localhost: 800/ldxwebpersonal/personal/index/index.action
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Nginx Tomcat Windows 负载 均衡