搜索
首页后端开发php教程Nginx+tomcat集群环境搭建

实验环境:windows xp sp3

 

Nginx版本:1.5.12;

下载地址:http://nginx.org/en/download.html

 

Tomcat版本:6.0.39

下载地址:http://tomcat.apache.org/download-60.cgi

 

一、配置nginx

1、  在D盘根目录建立nginx文件夹,把下载的nginx发布包nginx-1.5.12.zip解压到该目录。

2、  D:\nginx\nginx-1.5.12目录结构

Nginx-

              |_  conf      配置目录

              |_  contrib.

              |_  docs      文档目录

              |_  logs      日志目录
              |_  temp      临时文件目录

              |_  html      静态页面目录

              |_  nginx.exe 主程序

3、  启动nginx

windows下启动nginx非常简单,双击运行nginx.exe即可。Nginx默认运行在80端口,检查nginx是否启动我们只需要在浏览器中输入http://localhost便可看到如下页面,说明我们nginx已经启起来了。

1、  停止nginx

如果需要停止nginx,需要打开一个命令行窗口,进入nginx解压的目录,也就是进入nginx.exe文件所在的目录,输入命令nginx –s stop 便可停止nginx。

 

二、集群配置

1、  配置tomcat

在D盘根目录建立tomcat文件夹,解压2份tomcat6.0.39发布包到该目录下,分别命名为tomcat01,tomcat02。为了便于观察我们访问的是哪个tomcat,我们修改tomcat01的D:\tomcat\tomcat01\webapps\ROOT\index.html中

[html] view plaincopy

  1. td align="left" valign="top">b>Apache Tomcatb>td>  
改为

[html] view plaincopy

  1. td align="left" valign="top">b>Apache Tomcat 1b>td>  
同理我们把tomcat02的D:\tomcat\tomcat02\webapps\ROOT\index.html中

[html] view plaincopy

  1. td align="left" valign="top">b>Apache Tomcatb>td>  
改为

[html] view plaincopy

  1. td align="left" valign="top">b>Apache Tomcat 2b>td>  

2个tomcat我们在同一台计算机上,为了让2个tomcat的端口不冲突,我们把tomcat02的D:\tomcat\tomcat02\conf\server.xml中

[html] view plaincopy

  1. Server port="8005" shutdown="SHUTDOWN">  
改为

[html] view plaincopy

  1. Server port="8105" shutdown="SHUTDOWN">  

[html] view plaincopy

  1. Connector port="8080" protocol="HTTP/1.1"   
  2.                connectionTimeout="20000"   
  3.                redirectPort="8443" />  
改为

[html] view plaincopy

  1. Connector port="8180" protocol="HTTP/1.1"   
  2.                connectionTimeout="20000"   
  3.                redirectPort="8543" />  


  1. Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />  
改为

[html] view plaincopy

  1. Connector port="8109" protocol="AJP/1.3" redirectPort="8543" />  


[html] view plaincopy

  1.   
2、  配置nginx

nginx.conf

[html] view plaincopy

  1. #Nginx所用用户和组,window下不指定   
  2. #user  niumd niumd;   
  3.   
  4. #工作的子进程数量(通常等于CPU数量或者2倍于CPU)  
  5. worker_processes  2;  
  6.   
  7. #错误日志存放路径  
  8. #error_log  logs/error.log;  
  9. #error_log  logs/error.log  notice;  
  10. #error_log  logs/error.log  info;  
  11.   
  12. #指定pid存放文件  
  13. #pid        logs/nginx.pid;  
  14.   
  15.   
  16. events {  
  17.     #使用网络IO模型linux建议epoll,FreeBSD建议采用kqueue,window下不指定。  
  18.     #use epoll;  
  19.       
  20.     #允许最大连接数  
  21.     worker_connections  1024;  
  22. }  
  23.   
  24.   
  25. http {  
  26.     include       mime.types;  
  27.     default_type  application/octet-stream;  
  28.   
  29.     #定义日志格式   
  30.     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '  
  31.                       '$status $body_bytes_sent "$http_referer" '  
  32.                       '"$http_user_agent" "$http_x_forwarded_for"';  
  33.   
  34.     access_log  logs/access.log  main;  
  35.       
  36.     client_header_timeout  3m;  
  37.     client_body_timeout    3m;  
  38.     send_timeout           3m;  
  39.       
  40.     client_header_buffer_size    1k;  
  41.     large_client_header_buffers  4 4k;  
  42.       
  43.   
  44.     sendfile        on;  
  45.     tcp_nopush      on;  
  46.     tcp_nodelay     on;  
  47.   
  48.     #keepalive_timeout  0;  
  49.     keepalive_timeout  65;  
  50.   
  51.     #gzip  on;  
  52.       
  53.     upstream localhost {    
  54.           #根据ip计算将请求分配各那个后端tomcat,许多人误认为可以解决session问题,其实并不能。    
  55.           #同一机器在多网情况下,路由切换,ip可能不同    
  56.           ip_hash;     
  57.           server localhost:8080;    
  58.           server localhost:8180;    
  59.          }    
  60.   
  61.   
  62.     server {  
  63.         listen       80;  
  64.         server_name  localhost;  
  65.   
  66.         #charset koi8-r;  
  67.   
  68.         #access_log  logs/host.access.log  main;  
  69.   
  70.         location / {  
  71.             proxy_connect_timeout   3;    
  72.             proxy_send_timeout      30;    
  73.               proxy_read_timeout      30;    
  74.             proxy_pass http://localhost;    
  75.         }  
  76.   
  77.         #error_page  404              /404.html;  
  78.   
  79.         # redirect server error pages to the static page /50x.html  
  80.         #  
  81.         error_page   500 502 503 504  /50x.html;  
  82.         location = /50x.html {  
  83.             root   html;  
  84.         }  
  85.   
  86.     }  
  87. }  

3、  查看反向代理配置结果

启动nginx、tomcat01、tomcat02。

浏览器输入http://localhost便看到tomcat01的管理界面,如下图。


然后透明停止tomcat02,刷新页面,nginx自动帮我们切换到tomcat02了,如下图。


以上就介绍了Nginx+tomcat集群环境搭建,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
高流量网站的PHP性能调整高流量网站的PHP性能调整May 14, 2025 am 12:13 AM

TheSecretTokeEpingAphp-PowerEdwebSiterUnningSmoothlyShyunderHeavyLoadInVolvOLVOLVOLDEVERSALKEYSTRATICES:1)emplactopCodeCachingWithOpcachingWithOpCacheToreCescriptexecution Time,2)使用atabasequercachingCachingCachingWithRedataBasEndataBaseLeSendataBaseLoad,3)

PHP中的依赖注入:初学者的代码示例PHP中的依赖注入:初学者的代码示例May 14, 2025 am 12:08 AM

你应该关心DependencyInjection(DI),因为它能让你的代码更清晰、更易维护。1)DI通过解耦类,使其更模块化,2)提高了测试的便捷性和代码的灵活性,3)使用DI容器可以管理复杂的依赖关系,但要注意性能影响和循环依赖问题,4)最佳实践是依赖于抽象接口,实现松散耦合。

PHP性能:是否可以优化应用程序?PHP性能:是否可以优化应用程序?May 14, 2025 am 12:04 AM

是的,优化papplicationispossibleandessential.1)empartcachingingcachingusedapcutorediucedsatabaseload.2)优化的atabaseswithexing,高效Quereteries,and ConconnectionPooling.3)EnhanceCodeWithBuilt-unctions,避免使用,避免使用ingglobalalairaiables,并避免使用

PHP性能优化:最终指南PHP性能优化:最终指南May 14, 2025 am 12:02 AM

theKeyStrategiestosiminificallyBoostphpapplicationPermenCeare:1)useOpCodeCachingLikeLikeLikeLikeLikeCacheToreDuceExecutiontime,2)优化AtabaseInteractionswithPreparedStateTemtStatementStatementSandProperIndexing,3)配置

PHP依赖注入容器:快速启动PHP依赖注入容器:快速启动May 13, 2025 am 12:11 AM

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增强codemodocultion,可验证性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

PHP中的依赖注入与服务定位器PHP中的依赖注入与服务定位器May 13, 2025 am 12:10 AM

选择DependencyInjection(DI)用于大型应用,ServiceLocator适合小型项目或原型。1)DI通过构造函数注入依赖,提高代码的测试性和模块化。2)ServiceLocator通过中心注册获取服务,方便但可能导致代码耦合度增加。

PHP性能优化策略。PHP性能优化策略。May 13, 2025 am 12:06 AM

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)启用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替换loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

PHP电子邮件验证:确保正确发送电子邮件PHP电子邮件验证:确保正确发送电子邮件May 13, 2025 am 12:06 AM

phpemailvalidation invoLvesthreesteps:1)格式化进行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中