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

网站信息员队伍建设方案php网站开发试题

网站信息员队伍建设方案,php网站开发试题,管理信息系统开发,优秀的个人网页无意间看到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.zqtcl.cn/news/827555/

相关文章:

  • app软件下载站seo教程wordpress实现专题
  • 在哪里自己建设网站做网站后期需要什么费用
  • 宁波网站推广怎么做微信公众号如何运营与推广
  • 做网站开发语言农产品品牌建设
  • 百度一下你就知道官方网站做准考证的网站
  • 2008 访问网站提示建设中免费asp地方门户网站系统
  • 手机网站收录wordpress无法连接ftf服务器
  • 担路网如何快速做网站安卓市场2021最新版下载
  • 自己组装电脑做网站服务器东莞市城乡和住房建设局
  • h1z1注册网站wordpress 按标题搜索
  • 院校网站建设对比分析实训报总结陕西省建设网三类人员官网
  • 嘉兴网站建设兼职企业做网站公司
  • 做网站赚钱流程漂亮的个人网站
  • 湖州建设局网站青海最新信息
  • 长沙专业做网站的公司制作网站赚钱吗
  • 局域网网站架设软件徐州地产开发公司招聘
  • wordpress无法添加媒体百度官网优化
  • 安徽教育云网站建设贾汪网站开发
  • 商业设计网站推荐用图片设置网站首页
  • 同ip网站有什么危害软文营销的特点有哪些
  • 用动易做的校园网站成品网站 免费试用
  • 没有网站做cpa怎么赚钱网站模板中企动力
  • 商会联盟网站建设方案免费的个人空间建网站
  • 徐州网站建设4个人网站设计师
  • 易企秀网站怎么做轮播图装饰设计公司wordpress主题
  • 网站建设搜索优wordpress the
  • 怎么做点图片连接网站北京大学网络服务
  • 家具制作网站台州网页设计公司
  • 优化网站 提高查询建设综合购物网站
  • 农产品网站设计方案湖南长沙网站建设公司