万能服务器学习笔记.docx_第1页
万能服务器学习笔记.docx_第2页
万能服务器学习笔记.docx_第3页
万能服务器学习笔记.docx_第4页
万能服务器学习笔记.docx_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

万能WEB服务器整合笔记一环境:Windows 7/windows server 2008 Jdk(java_ee_sdk-6u1-jdk-windows.exe)Tomcat(apache tomcat6.0.18.ZIP)(免安装包,只需配置环境变量)Apache(httpd-2.2.17-win32-x86-no_ssl.msi)Jk(mod_jk-1.2.31-httpd-2.2.3.so)(同时下载相同jk版本的source文件)Jk的源文件(tomcat-connectors-1.2.31-src.zip)二首要工作1. 安装JDK,并配置环境变量(path= %java_home%bin;%java_home%jrebin; classpath=%java_home%libdt.jar; %java_home%libtools.jar)2. 安装tomcat。解压apache tomcat6.0.18.ZIP 到安装目录,配置环境变量(classpath= %tomcat_home%bin;)3. 安装apache 安装完后分别测试,确保tomcat、apache都能正常运行。三 JSP的整合一 tomcat+jk+apache 整合 (以我的安装目录为例来讲。Apache:D:Apache2.2 Tomcat:D:apache-tomcat-6.0.18)步骤:1. 分别解压jk的安装包和资源包,将安装包下的xxx.so文件重命名为mod_jd.so并复制到D:Apache2.2manual文件夹中。将资源包下面conf文件夹下面的httpd-jk.conf、perties文件复制到D:Apache2.2conf文件夹中。2. 打开D:Apache2.2conf 目录下的apache配置文件httpd.conf,在文件中找到Include conf/extra/httpd-vhosts.conf 代码,并将其前面的注释去掉(去掉#)。3. 打开D:Apache2.2confextra目录下的httpd-vhosts.conf文件,在文件中找到NameVirtualHost *:80代码,然后在其上面一行添加代码:Include conf/httpd-jk.conf(既把这个文件加载进去)。再在该文件的最后添加一个VirtualHost ,代码如下: ServerAdmin #可以随便写DocumentRoot C:/www/zcglxt #工程目录ServerName #访问站点的域名 ServerAlias 68 #域名别名 ErrorLog logs/-error.log #日志文件 CustomLog logs/-access.log common #日志文件# All requests go to tomcat1 by default JkMount /* tomcat1 #tomcat1是随后perties文件中的一实例# JkMount /* tomcat1 表示把所有请求都抛给tomcat1处理 # Serve html, jpg and gif using httpd JkUnMount /*.html tomcat1 # JkUnMount /*.html表示所有的.html都不抛给tomcat1,由Apache自己处理。 JkUnMount /*.jpg tomcat1 JkUnMount /*.gif tomcat1 Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all 4. 打开D:Apache2.2conf中的peryies文件,在第一行未注释的代码前面添加如下代码:worker.list=tomcat1worker.tomcat1.type=ajp13worker.tomcat1.host=localhostworker.tomcat1.port=80095.打开D:apache-tomcat-6.0.18conf目录下的server.xml文件,在后面再添加一个虚拟机: 6.修改主机映射文件:用文本编辑器打开C:WindowsSystem32driversetc中的hosts文件,添加映射: (这样做就可以用域名 来访问站点)7.在c:wwwzcglxt目录下放一个web工程(至少包含一个.jsp和一个.html文件),分别用、:8080 访问.jsp,.html页面。只启动apache时,只可以访问.html文件,访问.jsp文件时会报503错误,这是合理的的。同时启动apache和tomcat,所有文件都能访问,且用80端口和8080端口访问的页面显示的效果应该是一样的。注释及注意事项1:在配置过程中httpd-jk.conf文件没做任何修改,这是因为我们在把jk文件拷贝到D:Apache2.2manual文件中时把名字修改成了:mod_jk.conf . Httpd-jk.conf中的主要代码如下: LoadModule jk_module modules/mod_jk.so #加载mod_jk.so JkWorkersFile conf/perties #加载perties # Our JK error log # You can (and should) use rotatelogs here JkLogFile logs/mod_jk.log #添加日志文件,便于排错 # Our JK log level (trace,debug,info,warn,error) JkLogLevel info # Our JK shared memory file JkShmFile logs/mod_jk.shm 2.Wperties文件中的worker是用来连接tomcat和apache通信的中间件,上面配置了一个实例tomcat1:worker.list=tomcat1worker.tomcat1.type=ajp13 worker.tomcat1.host=localhostworker.tomcat1.port=8009ajp是tomcat与apache通信的协议,13是版本号。localhost表示与本机的tomcat通信,可以设成具体的ip地址。8009是tomcat中ajp协议的默认端口。这个可以在tomcat的配置文件server.xml文件中看到。这两处的端口必须一致。3在配置tomcat中的虚拟机时, 中的path必须是path=”,而不能是path=”/”,否则会报错。4.配置apache中的虚拟机时,为了安全,官方建议先默认把所有请求都抛给tomcat,然后再用JkUnMount 排除需要由apache助理的文件。其次在配置apache中的虚拟机时还必须配置 Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all 这段是用于权限控制,如果不加,则会报403错:you dont hava permission to access/on this server。二.负载均衡(前提:apache与tomcat已整合成功)步骤:1. 打开D:Apache2.2conf中的perties文件 ,找到代码段:将8109改为8009,并且在后面再添加一行代码变为:worker.balancer.balance_workers=node1worker.node1.reference=worker.templateworker.node1.host=localhostworker.node1.port=8009worker.tomcat1.lbfactor =1继续往下找到node2代码段:worker.balancer.balance_workers=node2worker.node2.reference=worker.templateworker.node2.host=localhostworker.node2.port=8209并将其代码段改为:worker.balancer.balance_workers=node2worker.node2.reference=worker.templateworker.node2.host=8worker.node2.port=8009worker.node2.lbfactor =12. 在apache中添加或者修改原有虚拟主机(tomcat中的虚拟机也要做相应修改或添加, 这里略) ServerAdmin DocumentRoot C:/www/test ServerName ServerAlias 68 ErrorLog logs/.log CustomLog logs/.log-access.log common # All requests go to worker1 by default JkMount /* balancer #balancer也是一个workers实例,但它的type不是ajb,而是lb。(别急下面会讲到。) # Serve html, jpg and gif using httpd JkUnMount /*.html balancer JkUnMount /*.jpg balancer JkUnMount /*.gif balancer Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all 3. 同时启动本机的tomcat和8上的tomcat,用(需要在hosts中配置映射)访问站点,可以看到程序在本机tomcat和8上来回执行。注释及注意事项。在默认的perties文件中已经实例化了一个worker (balancer)用来实现负载均衡。主要代码如下:worker.list=balancerworker.balancer.type=lb (类型为lb,)worker.balancer.balance_workers=node1 (参与实现负载的成员node1)worker.node1.reference=worker.templateworker.node1.host=localhost (node1所在主机)worker.node1.port=8009worker.balancer.balance_workers=node2(参与实现负载的成员node2)worker.node2.reference=worker.template (采用继承来定义成员的type等属性)worker.node2.host=8 (node2所在主机)worker.node2.port=8009worker.template.type=ajp13 (type为ajp13,既用来处理请求的workers)worker.template.socket_keepalive=trueworker.template.ping_mode=A 上面的node1,node2 都是具体的workers, 与整合例子中的tomcat1是一种性质的。他们可以在开始就声明 :worker.list=node1,node2(官方文档上说多个worker可以用“,”隔开,但是我实际用的时候报错,还是得分开写worker.list=node1 worker.list=node2),只是当这些worker只用与负载均衡时,则可以不声明,直接这样用:worker.balancer.balance_workers=node2。worker.node2.reference=worker.template,这是种类似继承的用法,把其他的worker的属性都配在worker.template中,如:worker.template.type=ajp13 worker.template.socket_keepalive=trueworker.template.ping_mode=A node2一旦调用:worker.node2.reference=worker.template,它就具有了上面的上属性。这样便于维护,修改。上面的worker.node2.lbfactor =1 表示加载因子,如果两个节点都是1,则他们将按1:1获得请求量,你可以按需求修改。你可以根据自己需求来添加和减少参与负载均衡的 tomcat实例个数。三 tomcat集群(前提 负载均衡已经成功)集群其实就是在负载均衡的基础上实现同一session的复制,即当我在tomcatA上建立了session ,如果tomcatA突然故障或者因为负载均衡的原因,我发的第二次数据跳到了tomcatB上,这时候我还能用在tomcatA上建立的session id与之会话 而不是重先在tomcatB上建立新的session id 。如果只是希望某个工程实现session复制,只需在该工程的web.xml文件中节点中添加即可。如果希望tomcat下所有的工程都实现session复制,则可以修改tomcat 安装目录下conf文件夹中的context.xml文件。将其中的改为JK+apache+tomcat(负载均衡、集群、more web per IP)综合例子1环境 三台PC PCA(ip:5 安装apache ,tomcat。 路径:apache:D:Apache2.2 tomcat:D:apache-tomcat-6.0.18) PCB(ip:8 仅安装tomcat 路径tomcat:D:apache-tomcat-6.0.18) PCC(ip:68 只用于访问站点 )(这些IP地址是我实验时的真实地址,你可以自行修改,但切记要保证网络畅通):2 步骤PCA上:a. 把jk资源文件包里的perties、httpd-jk.conf文件拷贝到D:Apache2.2conf文件夹中,并对perties文件 node1和nodel2的部分属性进行修改: worker.balancer.balance_workers=node1 worker.node1.reference=worker.templateworker.node1.host=localhost worker.node1.port=8009worker.balancer.balance_workers=node2worker.node2.reference=worker.templateworker.node2.host=8worker.node2.port=8009worker.node2.lbfactor =1b.把mod_jk-1.2.31-httpd-2.2.3.so文件放进D:Apache2.2manual文件夹,并改名为mod_jk.so。c.打开D:Apache2.2conf 下的httpd.conf,去掉Include conf/extra/httpd-vhosts.conf 代码的注释(去掉#)。d.打开D:Apache2.2confextra下的httpd-vhosts.conf文件,找到NameVirtualHost *:80代码,在其前一行添加代码:Include conf/httpd-jk.confe继续 在httpd-vhosts.conf文件的末尾添加虚拟机,代码如下: ServerAdmin DocumentRoot C:/www/zcglxt ServerName ErrorLog logs/-error.log CustomLog logs/-access.log common# All requests go to worker1 by default JkMount /* balancer # Serve html, jpg and gif using httpd JkUnMount /*.html balancer JkUnMount /*.jpg balancer JkUnMount /*.gif balancer Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all ServerAdmin DocumentRoot C:/www/test ServerName ErrorLog logs/.log CustomLog logs/.log-access.log common # All requests go to worker1 by default JkMount /* balancer # Serve html, jpg and gif using httpd JkUnMount /*.gif balancer Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all f.打开D:apache-tomcat-6.0.18conf中的server.xml文件,修改虚拟主机:() (apache和tomcat中的虚拟主机目录要相同)PCB上的配置:在这台机子上只需配置tomcat的虚拟机。(同PCA 中第f步的配置完全一样)PCC上的配置这台电脑主要是用来访问站点,作测试用。用记事本打开本机C:WindowsSystem32driversetc下的hosts文件,在文中添加代码 5 5 写好两个web工程分别同时对应地放到apache和tomcat的虚拟机目录中。在pcc中打开IE 用m 、 、m:8080 、 :8080访问站点,并观看PCA和PCB上的tomcat后台信息。总结:apache与tomcat通过 ajp协

温馨提示

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

评论

0/150

提交评论