当前位置: 首页 > news >正文

德州市网站建设_网站建设公司_SSL证书_seo优化

做网站是什么软件,网站建设主要课程,哪些网站做代理,哈尔滨信息网官网无意间看到tomcat 6集群的内容#xff0c;就尝试配置了一下#xff0c;还是遇到很多问题#xff0c;特此记录。apache服务器和tomcat的连接方法其实有三种:JK、http_proxy和ajp_proxy。本文主要介绍最为常见的JK。 环境#xff1a;PC2台#xff1a;pc1(IP 192.168.88.118…无意间看到tomcat 6集群的内容就尝试配置了一下还是遇到很多问题特此记录。apache服务器和tomcat的连接方法其实有三种:JK、http_proxy和ajp_proxy。本文主要介绍最为常见的JK。 环境PC2台pc1(IP 192.168.88.118)安装了apache和tomcat pc2(IP 192.168.88.168)安装了tomcat 系统 win xp sp3 1.安装tomcat、apache服务器及版本对应的JK 这里需要注意的是JK版本必须与apache服务器版本号对应可以直接从我参考附件下载。apache_home表示apache服务器安装目录. 2.配置apache服务器 2.1 httpd.conf文件 apache_home目录下的conf/httpd.conf文件中添加 Xml代码 LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so   JkWorkersFile conf/workers.properties   JkMount /* lbcontroller    LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so JkWorkersFile conf/workers.properties JkMount /* lbcontroller 具体的说明如下 Xml代码 LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so   LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so 表示载入JK模块。 Xml代码 JkWorkersFile conf/workers.properties   JkWorkersFile conf/workers.properties tomcat实例配置具体参见2.2。 Xml代码 JkMount /* lbcontroller    JkMount /* lbcontroller 设置apache分发器/*表示apache将所有文件都由分发器lbcontroller 进行分发你可以自行设置*.jsp,*.do等  2.2 workers.properties文件 在apache_home下conf目录中新建workers.properties文件输入以下内容 Xml代码 worker.listlbcontroller    #Tomcat1实例配置   worker.tomcat1.host192.168.88.118   worker.tomcat1.port8009  worker.tomcat1.typeajp13  #分发权重 值越大负载越大   worker.tomcat1.lbfactor  1     #Tomcat2实例配置   worker.tomcat2.host192.168.88.168   worker.tomcat2.port9009  worker.tomcat2.typeajp13  #分发权重 值越大负载越大   worker.tomcat2.lbfactor  1    #负载均衡分发控制器   worker.lbcontroller.typelb   worker.lbcontroller.balance_workerstomcat1,tomcat2   worker.lbcontroller.sticky_sessionTrue   worker.listlbcontroller#Tomcat1实例配置 worker.tomcat1.host192.168.88.118 worker.tomcat1.port8009 worker.tomcat1.typeajp13 #分发权重 值越大负载越大 worker.tomcat1.lbfactor 1#Tomcat2实例配置 worker.tomcat2.host192.168.88.168 worker.tomcat2.port9009 worker.tomcat2.typeajp13 #分发权重 值越大负载越大 worker.tomcat2.lbfactor 1#负载均衡分发控制器 worker.lbcontroller.typelb worker.lbcontroller.balance_workerstomcat1,tomcat2 worker.lbcontroller.sticky_sessionTrue  在这里 Xml代码 worker.listlbcontroller   worker.listlbcontroller  内容即为httpd.conf文件中的分发器名称。需要注意的内容是tomcat实例名称 Xml代码 worker.tomcat1.host....   ...   worker.tomcat2.host....   ...   worker.tomcat1.host.... ... worker.tomcat2.host.... ...  在这里就是tomcat1和tomcat2必须与之后tomcat中的server.xml中jvmRoute值一致。 3.tomcat集群配置 配置每个tomcat目录下的server.xml文件具体修改内容如下 3.1 Engine配置 修改前 Xml代码 Engine nameCatalina defaultHostlocalhost   Engine nameCatalina defaultHostlocalhost 修改后 Xml代码 Engine nameCatalina defaultHostlocalhost  jvmRoutetomcat1    Engine nameCatalina defaultHostlocalhost jvmRoutetomcat1  具体tomcat中jvmRoute的值根据在workers.properties的配置注意IP地址、tomcat实例名称和jvmRoute值必须一一对应。 3.2 Connector配置 修改前 Xml代码 Connector port8009 protocolAJP/1.3 redirectPort8443 /   Connector port8009 protocolAJP/1.3 redirectPort8443 / 修改后 Xml代码 Connector port9009 protocolAJP/1.3 redirectPort8443 /   Connector port9009 protocolAJP/1.3 redirectPort8443 /  这里tomcat的port值必须与在workers.properties中的port值一致。 3.3 Cluster配置 修改前 Xml代码 !--  Cluster classNameorg.apache.catalina.ha.tcp.SimpleTcpCluster  --   !-- Cluster classNameorg.apache.catalina.ha.tcp.SimpleTcpCluster --  修改后去掉注释并添加一些内容如下 Xml代码 Cluster classNameorg.apache.catalina.ha.tcp.SimpleTcpCluster  channelSendOptions8                      Manager classNameorg.apache.catalina.ha.session.DeltaManager                     expireSessionsOnShutdownfalse                     notifyListenersOnReplicationtrue/               Channel classNameorg.apache.catalina.tribes.group.GroupChannel               Membership classNameorg.apache.catalina.tribes.membership.McastService                          address228.0.0.4                          port45564                          frequency500                          dropTime3000/               Receiver classNameorg.apache.catalina.tribes.transport.nio.NioReceiver                         addressauto                     port4001                        autoBind100                        selectorTimeout5000                        maxThreads6/               !-- timeout60000--               Sender classNameorg.apache.catalina.tribes.transport.ReplicationTransmitter                 Transport classNameorg.apache.catalina.tribes.transport.nio.PooledParallelSender /               /Sender               Interceptor classNameorg.apache.catalina.tribes.group.interceptors.TcpFailureDetector/               Interceptor classNameorg.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor/               Interceptor classNameorg.apache.catalina.tribes.group.interceptors.ThroughputInterceptor/             /Channel               Valve classNameorg.apache.catalina.ha.tcp.ReplicationValve                   filter/             Valve classNameorg.apache.catalina.ha.session.JvmRouteBinderValve/               ClusterListener classNameorg.apache.catalina.ha.session.JvmRouteSessionIDBinderListener/             ClusterListener classNameorg.apache.catalina.ha.session.ClusterSessionListener/           /Cluster   Cluster classNameorg.apache.catalina.ha.tcp.SimpleTcpCluster channelSendOptions8 Manager classNameorg.apache.catalina.ha.session.DeltaManager expireSessionsOnShutdownfalse notifyListenersOnReplicationtrue/ Channel classNameorg.apache.catalina.tribes.group.GroupChannel Membership classNameorg.apache.catalina.tribes.membership.McastService address228.0.0.4 port45564 frequency500 dropTime3000/ Receiver classNameorg.apache.catalina.tribes.transport.nio.NioReceiver addressautoport4001 autoBind100 selectorTimeout5000 maxThreads6/ !-- timeout60000-- Sender classNameorg.apache.catalina.tribes.transport.ReplicationTransmitter Transport classNameorg.apache.catalina.tribes.transport.nio.PooledParallelSender / /Sender Interceptor classNameorg.apache.catalina.tribes.group.interceptors.TcpFailureDetector/ Interceptor classNameorg.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor/ Interceptor classNameorg.apache.catalina.tribes.group.interceptors.ThroughputInterceptor/ /Channel Valve classNameorg.apache.catalina.ha.tcp.ReplicationValve filter/ Valve classNameorg.apache.catalina.ha.session.JvmRouteBinderValve/ ClusterListener classNameorg.apache.catalina.ha.session.JvmRouteSessionIDBinderListener/ ClusterListener classNameorg.apache.catalina.ha.session.ClusterSessionListener/ /Cluster  上述配置跟tomcat官方建议的配置去掉了 Xml代码 Deployer classNameorg.apache.catalina.ha.deploy.FarmWarDeployer                     tempDir/tmp/war-temp/                     deployDir/tmp/war-deploy/                     watchDir/tmp/war-listen/                     watchEnabledfalse/   Deployer classNameorg.apache.catalina.ha.deploy.FarmWarDeployertempDir/tmp/war-temp/deployDir/tmp/war-deploy/watchDir/tmp/war-listen/watchEnabledfalse/  如果不去掉这部分则tomcat启动会报FarmWarDeployer can only work as host cluster subelement!. 3.4 session复制配置 tomcat集群中的session管理主要有两种方式 1).粘性session 表示从同一窗口发来的请求都将有集群中的同一个tomcat进行处理。配置方式是在上面workers.properties文件中 Xml代码 worker.lbcontroller.sticky_sessionTrue    worker.lbcontroller.sticky_sessionTrue  粘性session的好处在不会在不同的tomcat上来回跳动处理请求但是坏处是如果处理该session的tomcat崩溃那么之后的请求将由其他tomcat处理原有session失效而重新新建一个新的session这样如果继续从session取值会抛出nullpointer的访问异常。 2).session复制 session复制是指tomcat彼此之间通过组播方式将session发到各个tomcat实例上如果其中一个访问出错则另外tomcat仍然具有有效的session内容从而能正常接管其session。坏处是当tomcat实例很多或者用户在session中有大量操作时组播发送的信息量十分惊人。session复制配置则是在发布的web应用程序中的web.xml中添加 Xml代码 distributable/   distributable/  此外,session复制所需的JDK必须是JDK 5.0及其以上版本。 4.测试 1) 先启动apache服务器httpd 2) 启动名为tomcat2的服务器  在浏览器中输入访问地址http://localhost/test/index.html  可以看到请求被转发到了tomcat2进行处理 3)启动tomcat 1 ,界面如下  可以发现tomcat1启动后搜索到了tomcat2实例并进行了session复制。在tomcat2的控制台也可以找到如下输出  4)关闭tomcat 2后继续刷新url访问。tomcat1控制台中输出的session 依然与之前tomcat2中的一致并且在session中保存的属性值仍然有效。 5.问题 上面的配置是在两台不同的配置上进行tomcat负载和session复制都成功了。但是如果在同一台机子上配置则session复制总是不能成功搜索了很多解决方式都不正确。 6.参考 http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/index.html http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html#Cluster Basics  系统架设 前台采用apache2.2作为web服务器 后台架设了300030013002三个mongrol应用     问题表现 访问http://localhost,出现一直在访问服务器   然后访问http://localhost:3000可以正常访问估计问题出现apache上查看错误日志error.log   apache后台出现的错误提示   [warn] Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting     原因 在httpd.conf中并没有设置线程数量Apache默认开启了64个看来是远远不够。于是上网一查在httpd.conf加入以下内容 IfModule mpm_winnt_module ThreadsPerChild 512 MaxRequestsPerChild 0 /IfModule 这样开启了512工作线程。这个值根据需要可能要慢慢调整 按照上面的修改进行httpd。conf文件的修改然后重启服务器可以正常访问问题解决 -Xms1024m -Xmx1024m -Xmn512m -XX:PermSize512M -XX:NewSize512m -XX:MaxNewSize512m -XX:MaxPermSize512m -XX:ParallelGCThreads4 -XX:MaxTenuringThreshold5 -XX:ParallelCMSThreads3 -XX:UseConcMarkSweepGC -XX:UseCMSCompactAtFullCollection -XX:CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction80一般这两个参数设置成一样的能提高效率  -Xms1024m -Xmx1024m  -Xss128k 这个参数设置其实要小心128是我们一直用的值一直 也没出什么问题。 以上参数都调大后其它的参数也要随着调要不然还是用默认值这样一定就会内存溢出了。 -XX:PermSize512M   -XX:NewSize512m  -XX:MaxNewSize512m  -XX:MaxPermSize512m  但下面几个参数也不能调大我们一般设置为最大JVM内存的一半。 杨航收集技术资料分享给大家
http://www.ihoyoo.com/news/126647.html

相关文章:

  • 怎么做网站上做电子书室内设计师网名专用
  • 做软件界面的网站前端开发工程师招聘要求
  • 在手机上怎么制作网站吗网站类的知识
  • 怎么在微信公众号建设微网站吉林大学学院网站建设群
  • 晋江网站开发专业做酒的网站有哪些
  • 烟台中企动力提供网站建设济宁百度推广开户
  • 房地产公司网站建设方案wordpress安装指令
  • 网站的建设好处erp登录入口
  • 营销型网站建设论文呼和浩特做网站的
  • 为什么企业建设银行网站打不开正规网站模板设计
  • 花卉网站源码wordpress view插件
  • 我想开个网站平台怎么开呢安徽柱石建设有限公司网站
  • 企业网站和展板建设企业电话查询
  • 网站访问量怎么增加0基础做网站
  • 深圳网站创建公司免费的网站推广在线推广
  • 网站开发外包公司坑连云港公司企业网站建设
  • 做网站和做app那个简单收费下载资源 wordpress插件
  • 瓷砖 中企动力 网站建设wordpress 权限
  • 广州外贸建站个人网站示例
  • 光做网站推广咋样网站开发需要的知识和技术
  • 门户建设是什么意思潍坊关键词优化软件
  • 网站建设属于无形资产网站建设报价方案对比
  • 介绍自己的做的网站吗网页平面设计要学什么
  • 赵公口网站建设公司网络营销技巧培训
  • 常州网站设计一个公司网站后台怎么做
  • 阿里云服务器做电影网站吗云南微网站建设的公司有哪些
  • 好看的知名企业网站河北常见网站建设价格
  • eclips怎么做网站公司设计一个网站需要多久
  • 网站建设虚拟空间深圳软件定制开发公司排行
  • 硅藻泥网站怎么做网站建设前期规划方案范文