- 浏览: 584670 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (365)
- Tomcat调优 (2)
- Apache Http (20)
- Webserver安装 (5)
- Linux安装 (28)
- Linux常用命令 (17)
- C语言及网络编程 (10)
- 文件系统 (0)
- Lucene (12)
- Hadoop (9)
- FastDFS (8)
- 报表 (0)
- 性能测试 (1)
- JAVA (18)
- CSharp (3)
- C++ (38)
- BI (0)
- 数据挖掘 (0)
- 数据采集 (0)
- 网址收集整理 (3)
- Resin (0)
- JBoss (0)
- nginx (0)
- 数据结构 (1)
- 随记 (5)
- Katta (1)
- Shell (6)
- webservice (0)
- JBPM (2)
- JQuery (6)
- Flex (41)
- SSH (0)
- javascript (7)
- php (13)
- 数据库 (6)
- 搜索引擎排序 (2)
- LVS (3)
- solr (2)
- windows (1)
- mysql (3)
- 营销软件 (1)
- tfs (1)
- memcache (5)
- 分布式搜索 (3)
- 关注的博客 (1)
- Android (2)
- clucene (11)
- 综合 (1)
- c c++ 多线程 (6)
- Linux (1)
- 注册码 (1)
- 文件类型转换 (3)
- Linux 与 asp.net (2)
- perl (5)
- coreseek (1)
- 阅读器 (2)
- SEO (1)
- 励志 (1)
- 在线性能测试工具 (1)
- yii (7)
- 服务器监控 (1)
- 广告 (1)
- 代理服务 (5)
- zookeeper (8)
- 广告联盟 (0)
- 常用软件下载 (1)
- 架设自已的站点心得 (0)
最新评论
-
terry07:
java 7 用这个就可以了 Desktop desktop ...
关于java Runtime.getRunTime.exec(String command)的使用 -
HSINKING:
怎么设置打开的dos 窗口是指定的路径下
关于java调用bat文件,不打开窗口 -
liubang201010:
hyperic hq更多参考资料,请访问:http://www ...
hyperic-hq -
^=^:
STDIN_FILENO是unistd.h中定义的一个numb ...
深入理解dup和dup2的用法 -
antor:
留个记号,学习了
[转]用java流方式判断文件类型
worker.list=controller,tomcat1,tomcat2 #server 列表
#========tomcat1========
worker.tomcat1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1 #server的加权比重,值越高,分得的请求越多
#========tomcat2========
worker.tomcat2.port=8010 #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat2.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1 #server的加权比重,值越高,分得的请求越多
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2 #指定分担请求的tomcat
worker.controller.sticky_session=1
workers.tomcat_home=D:\tomcat6.0.18_clusterone #让mod_jk模块知道Tomcat的位置
workers.java_home=D:\Java\jdk1.6.0\jre #让mod_jk模块知道jre的位置
ps=\
worker.list=tomcat1 #server 列表,tomcat2,controller
#========tomcat1========
worker.tomcat1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1 #server的加权比重,值越高,分得的请求越多
#========tomcat2========
#worker.tomcat2.port=8010 #ajp13 端口号,在tomcat下server.xml配置,默认8009
#worker.tomcat2.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
#worker.tomcat2.type=ajp13
#worker.tomcat2.lbfactor=1 #server的加权比重,值越高,分得的请求越多
#========controller,负载均衡控制器========
#worker.controller.type=lb
#worker.controller.balanced_workers=tomcat1,tomcat2 #指定分担请求的tomcat 这里 balanced写错了,应是 balance
#worker.controller.sticky_session=1
workers.tomcat_home=D:\tomcat6.0.18_clusterone #让mod_jk模块知道Tomcat的位置
workers.java_home=D:\Java\jdk1.6.0\jre #让mod_jk模块知道jre的位置
ps=\
worker.list=ajp13 #模块版本
worker.ajp13.port=8009 #工作端口,若没占用则不用修改
worker.ajp13.host=localhost #本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.type=ajp13 #类型
worker.ajp13.lbfactor=1 #代理数,不用修改
===========================正确配置=======================
前期准备
下载mod_jk-1.2.28-httpd-2.2.3.so
http://apache.justdn.org/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/mod_jk-1.2.28-httpd-2.2.3.somod_jk-1.2.28-httpd-2.2.3.so
下载 Apache2.2
下载 tomcat6
环境
现在的环境,是在同一台机器中配置 一个apache ,两个tomcat
1\
apache http.conf
在文件尾增加
LoadModule jk_module modules\mod_jk-1.2.28-httpd-2.2.3.so
JkWorkersFile "D:\Apache2.2\conf\workers.properties"
JkMount /*.jsp controller
JkLogFile "D:\Tomcat 6.0\logs\mod_jk2.log"
JkLogLevel info
2\
新建workers.properties,并把workers.properties也放在D:\Apache2.2\conf\workers.properties目录下
并在文件中增加如下内容
worker.list=controller,tomcatone,tomcattwo #server 列表,tomcat2,controller
#========tomcat1========
worker.tomcatone.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcatone.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcatone.type=ajp13
worker.tomcatone.lbfactor=1 #server的加权比重,值越高,分得的请求越多
#========tomcat2========
worker.tomcattwo.port=8010 #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcattwo.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcattwo.type=ajp13
worker.tomcattwo.lbfactor=1 #server的加权比重,值越高,分得的请求越多
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balance_workers=tomcatone,tomcattwo #指定分担请求的tomcat 这里 balanced写错了,应是 balance
worker.controller.sticky_session=1
3\如果在同一台机,增加两个Tomcat服务
a:D:\tomcat6.0.18_clusterone
b:D:\tomcat6.0.18_clustertwo
c修改,a与b中的内容
a:中的相应内容为
第二处:<Connector port="8086" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"/>
原来为
<Connector port="8086" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
第三处:<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcatone">
原来为
<Engine name="Catalina" defaultHost="localhost"> (注:其实这行原来存在,只是把其注释掉)
b:中的相应内容为
第一处:<Server port="8007" shutdown="SHUTDOWN">=====原来为====><Server port="8006" shutdown="SHUTDOWN">
第二处:<Connector port="8087" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"/>
原来为
<Connector port="8086" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
第三处:<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcattwo">
原来为
<Engine name="Catalina" defaultHost="localhost"> (注:其实这行原来存在,只是把其注释掉)
4\ 增加虚似目录(注,把"1\"中的 "JkMount /*.jsp controller" 注释掉 )
<VirtualHost *:8089>
ServerAdmin seal_bird21th@sohu.com
DocumentRoot d:/www/wabappone/ROOT
ServerName www.wabappone.com
ServerAlias wabappone
ErrorLog "logs/wabappone.localhost-error.log"
CustomLog "logs/wabappone.localhost-access.log" common
JkMount /*.jsp controller
# 把JSPX程序映射到Jk连接器上
JkMount /*.jspx controller
# 把servlet程序映射到Jk连接器上
JkMount /servlet/* controller
JkMount /*.servlet controller
</VirtualHost>
==================================
注:apache与tomcat本来就能正常使用的前提下
==================================
能过以上四步负载作用了
============测试jsp文件====把下面内容保存成test.jsp文件并copy到相应目录下========================
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster App Test</title></head>
<body>
Server Info:
<%
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
<%
out.println("<br> ID " + session.getId()+"<br>");
// 如果有新的 Session 属性设置
String dataName = request.getParameter("dataName");
if (dataName != null && dataName.length() > 0) {
String dataValue = request.getParameter("dataValue");
session.setAttribute(dataName, dataValue);
}
out.print("<b>Session 列表</b>");
Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = session.getAttribute(name).toString();
out.println( name + " = " + value+"<br>");
System.out.println( name + " = " + value);
}
%>
<form action="test.jsp" method="POST">
名称:<input type=text size=20 name="dataName">
<br>
值:<input type=text size=20 name="dataValue">
<br>
<input type=submit>
</form>
</body>
</html>
==============================================================================================
5\
在tomcat中的conf目录下的server.xml文件增加以下内容
把 server.xml中注释部分 <!-- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>--> 替换成如下内容
==========================================================================
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="8">
<!--
<Manager className="org.apache.catalina.ha.session.BackupManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"
mapSendOptions="8"/> -->
<!-- -->
<Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="4000"
autoBind="100"
selectorTimeout="5000"
maxThreads="6"/>
<!-- timeout="60000"-->
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender" />
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
==========================================================================
6\
站点web.xml中加入 <distributable/>,distributable元素来告诉servlet/JSP容器,编写将在分布式Web容器中部署的应用
=====================
以上配置经测试,情况如下
1\在ie中运行 test.jsp
出现
Server Info: null : 8089
ID B4D24ADB547DEAAE02B35CC72A2BC147.tomcatone
Session 列表asfdasdf = asdf
不断的刷,仍显示的是 "ID B4D24ADB547DEAAE02B35CC72A2BC147.tomcatone",说明没有变,
但我把 tomcattwo这个tomcat站点关掉时
出现
Server Info: null : 8089
ID B4D24ADB547DEAAE02B35CC72A2BC147.tomcattwo
Session 列表asfdasdf = asdf
这时就变了,为什么一定要关掉一个服务才能执行test.jsp时,结果才能变呢(即自动在两个站点间切换以达以分流负载均衡作用)
现在的环境,是在一台机器中配置 一个apache ,两个tomcat
2\如果新开ie,则session ID会变了,说明配置成功
===============================================================================================================================
注意: 对于webservice 的集群,特别要注意 CommonBusiness.wsdl 中的
<wsdl:port binding="impl:CommonBusinessSoapBinding" name="CommonBusiness">
<wsdlsoap:address location="http://www.jobservice.com:8089/JobService/services/CommonBusiness"/>
</wsdl:port>
此处要与apache http 中的httpd-vhosts.conf 的端口一致,并且需增加如下行
JkMount /JobService/services/CommonBusiness controller ()
===============================================================================================================================
=====================
===================================================
===================================================
============= 更深入的配置方式(集群)===============
===================================================
===================================================
先配置成可扩散的服务,以可以灵活的增加数据处理服务端(数据处理服务端往往压大)
windows环境下安装myphpadmin
1\php5
得到 php.ini文件(在D:\php5目录下有一个这样的文件,只需改一下名字就ok)
增加环境变量(在path环境变量中增加) d:\php5;d:\php5\ext
php.ini在实际应用中要做相应修改
2\apache 中的http.conf的修改
a:
在 #LoadModule vhost_alias_module modules/mod_vhost_alias.so 后面加上以下两行
LoadModule php5_module d:/php5/php5apache2_2.dll
PHPIniDir "d:/php5"
b:修改http.conf相应位置
<Directory "D:/www">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
c:
在 AddType application/x-gzip .gz .tgz后面加上以下两行
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
d:增加 index.php
<IfModule dir_module>
DirectoryIndex index.html index.jsp index.php
</IfModule>
e:
#Include conf/extra/httpd-vhosts.conf 中的"#"去除
修改httpd-vhosts.conf文件为如下内容
#
# Use name-based virtual hosting.
#
NameVirtualHost *:8089
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:8089>
ServerAdmin seal_bird21th@sohu.com
DocumentRoot d:/www/wabappone/ROOT
ServerName www.wabappone.com
ServerAlias wabappone
ErrorLog "logs/wabappone.localhost-error.log"
CustomLog "logs/wabappone.localhost-access.log" common
JkMount /*.jsp controller
# 把JSPX程序映射到Jk连接器上
JkMount /*.jspx controller
# 把servlet程序映射到Jk连接器上
JkMount /servlet/* controller
JkMount /*.servlet controller
</VirtualHost>
3\
phpmyadmin的安装配置
打开phpmyadmin 目录中的 config.inc.php 找到以下这些:
$cfg[’PmaAbsoluteUri’] = ’http://localhost/phpmyadmin’; //假设是有域名的服务器,可改成http://域名/phpmyadmin
$cfg[’Servers’][$i][’user’] = ’admin’;
$cfg[’Servers’][$i][’password’] = ’00000000’; //分别填上你mysql的用户和密码
$cfg[’Servers’][$i][’auth_type’] = ’http’; // 这里也可以改为cookie
改好了保存,在浏览器打开http://localhost/phpmyadmin (/index.php)输入你的用户名和密码,便可以管理mysql了.
4\修改
d:\php5\php.ini
把如下四行中的";"去掉
;extension=php_mcrypt.dll
;extension=php_msql.dll
;extension=php_mssql.dll
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_mbstring.dll
====================================
url rewrite
====================================
1、在 httpd.conf 中搜索 LoadModule rewrite_module,将该行前面的 # 号删除。
2、将下面的内容加入在</VirtualHost>之前
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)/testrewrite.html$ $1/index.php
</IfModule>
技巧:
果在httpd中打开调用rewrite_module的设置,查看一下是不是能调用了,要通过 httpd -M的参数来查看;
#/usr/sbin/httpd -M
==================================
======支持php的基本配置步骤==========
==================================
==================================
配置支持php的步骤
首先要下载
apache2.2
php5
1\
在php5目录下找到php.ini文件,查看解压缩后的文件夹内容,找到“php.ini-dist”文件,将其重命名为“php.ini”,打开编辑,找到下面图中的地方, Ln385,有一个“register_globals = Off”值,这个值是用来打开全局变量的,比如表单送过来的值,如果这个值设为“Off”,就只能用“$_POST['变量名']、$_GET['变量名 ']”等来取得送过来的值,如果设为“On”,就可以直接使用“$变量名”来获取送过来的值,当然,设为“Off”就比较安全,不会让人轻易将网页间传送的数据截取。这个值是否改成“On”就看自己感觉了,是安全重要还是方便重要?
2\——在“我的电脑”上右键,“属性”,选择“高级”标签,点选“环境变量”,在“系统变量”下找到“Path”变量,选择,双击或点击“编辑”,将“;D:\php;D:\php\ext”加到原有值的后面,当然,其中的“D:\php” 是我的安装目录,你要将它改为自己的php安装目录
E:\DEDECMS\php5;E:\DEDECMS\php5\ext
3\
加入到#LoadModule vhost_alias_module modules/mod_vhost_alias.so 后面
LoadModule php5_module E:/DEDECMS/php5/php5apache2_2.dll
PHPIniDir "E:/DEDECMS/php5"
4\
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
/index.html出现
出现 Parse error: syntax error, unexpected T_STRING
取消 AddType application/x-httpd-php .html 这句就ok了,真tmd怪了
发现与php.ini 中的 ;extension=php_mbstring.dll 这行取消";"有关
要么取消http.conf中
AddType application/x-httpd-php .html
或php.ini中的改为
;extension=php_mbstring.dll
则正常运行
====================================
参看 http://www.idouye.com 爱豆叶资料分享
#========tomcat1========
worker.tomcat1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1 #server的加权比重,值越高,分得的请求越多
#========tomcat2========
worker.tomcat2.port=8010 #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat2.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1 #server的加权比重,值越高,分得的请求越多
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2 #指定分担请求的tomcat
worker.controller.sticky_session=1
workers.tomcat_home=D:\tomcat6.0.18_clusterone #让mod_jk模块知道Tomcat的位置
workers.java_home=D:\Java\jdk1.6.0\jre #让mod_jk模块知道jre的位置
ps=\
worker.list=tomcat1 #server 列表,tomcat2,controller
#========tomcat1========
worker.tomcat1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1 #server的加权比重,值越高,分得的请求越多
#========tomcat2========
#worker.tomcat2.port=8010 #ajp13 端口号,在tomcat下server.xml配置,默认8009
#worker.tomcat2.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
#worker.tomcat2.type=ajp13
#worker.tomcat2.lbfactor=1 #server的加权比重,值越高,分得的请求越多
#========controller,负载均衡控制器========
#worker.controller.type=lb
#worker.controller.balanced_workers=tomcat1,tomcat2 #指定分担请求的tomcat 这里 balanced写错了,应是 balance
#worker.controller.sticky_session=1
workers.tomcat_home=D:\tomcat6.0.18_clusterone #让mod_jk模块知道Tomcat的位置
workers.java_home=D:\Java\jdk1.6.0\jre #让mod_jk模块知道jre的位置
ps=\
worker.list=ajp13 #模块版本
worker.ajp13.port=8009 #工作端口,若没占用则不用修改
worker.ajp13.host=localhost #本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.type=ajp13 #类型
worker.ajp13.lbfactor=1 #代理数,不用修改
===========================正确配置=======================
前期准备
下载mod_jk-1.2.28-httpd-2.2.3.so
http://apache.justdn.org/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/mod_jk-1.2.28-httpd-2.2.3.somod_jk-1.2.28-httpd-2.2.3.so
下载 Apache2.2
下载 tomcat6
环境
现在的环境,是在同一台机器中配置 一个apache ,两个tomcat
1\
apache http.conf
在文件尾增加
LoadModule jk_module modules\mod_jk-1.2.28-httpd-2.2.3.so
JkWorkersFile "D:\Apache2.2\conf\workers.properties"
JkMount /*.jsp controller
JkLogFile "D:\Tomcat 6.0\logs\mod_jk2.log"
JkLogLevel info
2\
新建workers.properties,并把workers.properties也放在D:\Apache2.2\conf\workers.properties目录下
并在文件中增加如下内容
worker.list=controller,tomcatone,tomcattwo #server 列表,tomcat2,controller
#========tomcat1========
worker.tomcatone.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcatone.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcatone.type=ajp13
worker.tomcatone.lbfactor=1 #server的加权比重,值越高,分得的请求越多
#========tomcat2========
worker.tomcattwo.port=8010 #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcattwo.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcattwo.type=ajp13
worker.tomcattwo.lbfactor=1 #server的加权比重,值越高,分得的请求越多
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balance_workers=tomcatone,tomcattwo #指定分担请求的tomcat 这里 balanced写错了,应是 balance
worker.controller.sticky_session=1
3\如果在同一台机,增加两个Tomcat服务
a:D:\tomcat6.0.18_clusterone
b:D:\tomcat6.0.18_clustertwo
c修改,a与b中的内容
a:中的相应内容为
第二处:<Connector port="8086" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"/>
原来为
<Connector port="8086" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
第三处:<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcatone">
原来为
<Engine name="Catalina" defaultHost="localhost"> (注:其实这行原来存在,只是把其注释掉)
b:中的相应内容为
第一处:<Server port="8007" shutdown="SHUTDOWN">=====原来为====><Server port="8006" shutdown="SHUTDOWN">
第二处:<Connector port="8087" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"/>
原来为
<Connector port="8086" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
第三处:<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcattwo">
原来为
<Engine name="Catalina" defaultHost="localhost"> (注:其实这行原来存在,只是把其注释掉)
4\ 增加虚似目录(注,把"1\"中的 "JkMount /*.jsp controller" 注释掉 )
<VirtualHost *:8089>
ServerAdmin seal_bird21th@sohu.com
DocumentRoot d:/www/wabappone/ROOT
ServerName www.wabappone.com
ServerAlias wabappone
ErrorLog "logs/wabappone.localhost-error.log"
CustomLog "logs/wabappone.localhost-access.log" common
JkMount /*.jsp controller
# 把JSPX程序映射到Jk连接器上
JkMount /*.jspx controller
# 把servlet程序映射到Jk连接器上
JkMount /servlet/* controller
JkMount /*.servlet controller
</VirtualHost>
==================================
注:apache与tomcat本来就能正常使用的前提下
==================================
能过以上四步负载作用了
============测试jsp文件====把下面内容保存成test.jsp文件并copy到相应目录下========================
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster App Test</title></head>
<body>
Server Info:
<%
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
<%
out.println("<br> ID " + session.getId()+"<br>");
// 如果有新的 Session 属性设置
String dataName = request.getParameter("dataName");
if (dataName != null && dataName.length() > 0) {
String dataValue = request.getParameter("dataValue");
session.setAttribute(dataName, dataValue);
}
out.print("<b>Session 列表</b>");
Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = session.getAttribute(name).toString();
out.println( name + " = " + value+"<br>");
System.out.println( name + " = " + value);
}
%>
<form action="test.jsp" method="POST">
名称:<input type=text size=20 name="dataName">
<br>
值:<input type=text size=20 name="dataValue">
<br>
<input type=submit>
</form>
</body>
</html>
==============================================================================================
5\
在tomcat中的conf目录下的server.xml文件增加以下内容
把 server.xml中注释部分 <!-- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>--> 替换成如下内容
==========================================================================
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="8">
<!--
<Manager className="org.apache.catalina.ha.session.BackupManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"
mapSendOptions="8"/> -->
<!-- -->
<Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="4000"
autoBind="100"
selectorTimeout="5000"
maxThreads="6"/>
<!-- timeout="60000"-->
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender" />
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
==========================================================================
6\
站点web.xml中加入 <distributable/>,distributable元素来告诉servlet/JSP容器,编写将在分布式Web容器中部署的应用
=====================
以上配置经测试,情况如下
1\在ie中运行 test.jsp
出现
Server Info: null : 8089
ID B4D24ADB547DEAAE02B35CC72A2BC147.tomcatone
Session 列表asfdasdf = asdf
不断的刷,仍显示的是 "ID B4D24ADB547DEAAE02B35CC72A2BC147.tomcatone",说明没有变,
但我把 tomcattwo这个tomcat站点关掉时
出现
Server Info: null : 8089
ID B4D24ADB547DEAAE02B35CC72A2BC147.tomcattwo
Session 列表asfdasdf = asdf
这时就变了,为什么一定要关掉一个服务才能执行test.jsp时,结果才能变呢(即自动在两个站点间切换以达以分流负载均衡作用)
现在的环境,是在一台机器中配置 一个apache ,两个tomcat
2\如果新开ie,则session ID会变了,说明配置成功
===============================================================================================================================
注意: 对于webservice 的集群,特别要注意 CommonBusiness.wsdl 中的
<wsdl:port binding="impl:CommonBusinessSoapBinding" name="CommonBusiness">
<wsdlsoap:address location="http://www.jobservice.com:8089/JobService/services/CommonBusiness"/>
</wsdl:port>
此处要与apache http 中的httpd-vhosts.conf 的端口一致,并且需增加如下行
JkMount /JobService/services/CommonBusiness controller ()
===============================================================================================================================
=====================
===================================================
===================================================
============= 更深入的配置方式(集群)===============
===================================================
===================================================
先配置成可扩散的服务,以可以灵活的增加数据处理服务端(数据处理服务端往往压大)
windows环境下安装myphpadmin
1\php5
得到 php.ini文件(在D:\php5目录下有一个这样的文件,只需改一下名字就ok)
增加环境变量(在path环境变量中增加) d:\php5;d:\php5\ext
php.ini在实际应用中要做相应修改
2\apache 中的http.conf的修改
a:
在 #LoadModule vhost_alias_module modules/mod_vhost_alias.so 后面加上以下两行
LoadModule php5_module d:/php5/php5apache2_2.dll
PHPIniDir "d:/php5"
b:修改http.conf相应位置
<Directory "D:/www">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
c:
在 AddType application/x-gzip .gz .tgz后面加上以下两行
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
d:增加 index.php
<IfModule dir_module>
DirectoryIndex index.html index.jsp index.php
</IfModule>
e:
#Include conf/extra/httpd-vhosts.conf 中的"#"去除
修改httpd-vhosts.conf文件为如下内容
#
# Use name-based virtual hosting.
#
NameVirtualHost *:8089
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:8089>
ServerAdmin seal_bird21th@sohu.com
DocumentRoot d:/www/wabappone/ROOT
ServerName www.wabappone.com
ServerAlias wabappone
ErrorLog "logs/wabappone.localhost-error.log"
CustomLog "logs/wabappone.localhost-access.log" common
JkMount /*.jsp controller
# 把JSPX程序映射到Jk连接器上
JkMount /*.jspx controller
# 把servlet程序映射到Jk连接器上
JkMount /servlet/* controller
JkMount /*.servlet controller
</VirtualHost>
3\
phpmyadmin的安装配置
打开phpmyadmin 目录中的 config.inc.php 找到以下这些:
$cfg[’PmaAbsoluteUri’] = ’http://localhost/phpmyadmin’; //假设是有域名的服务器,可改成http://域名/phpmyadmin
$cfg[’Servers’][$i][’user’] = ’admin’;
$cfg[’Servers’][$i][’password’] = ’00000000’; //分别填上你mysql的用户和密码
$cfg[’Servers’][$i][’auth_type’] = ’http’; // 这里也可以改为cookie
改好了保存,在浏览器打开http://localhost/phpmyadmin (/index.php)输入你的用户名和密码,便可以管理mysql了.
4\修改
d:\php5\php.ini
把如下四行中的";"去掉
;extension=php_mcrypt.dll
;extension=php_msql.dll
;extension=php_mssql.dll
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_mbstring.dll
====================================
url rewrite
====================================
1、在 httpd.conf 中搜索 LoadModule rewrite_module,将该行前面的 # 号删除。
2、将下面的内容加入在</VirtualHost>之前
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)/testrewrite.html$ $1/index.php
</IfModule>
技巧:
果在httpd中打开调用rewrite_module的设置,查看一下是不是能调用了,要通过 httpd -M的参数来查看;
#/usr/sbin/httpd -M
==================================
======支持php的基本配置步骤==========
==================================
==================================
配置支持php的步骤
首先要下载
apache2.2
php5
1\
在php5目录下找到php.ini文件,查看解压缩后的文件夹内容,找到“php.ini-dist”文件,将其重命名为“php.ini”,打开编辑,找到下面图中的地方, Ln385,有一个“register_globals = Off”值,这个值是用来打开全局变量的,比如表单送过来的值,如果这个值设为“Off”,就只能用“$_POST['变量名']、$_GET['变量名 ']”等来取得送过来的值,如果设为“On”,就可以直接使用“$变量名”来获取送过来的值,当然,设为“Off”就比较安全,不会让人轻易将网页间传送的数据截取。这个值是否改成“On”就看自己感觉了,是安全重要还是方便重要?
2\——在“我的电脑”上右键,“属性”,选择“高级”标签,点选“环境变量”,在“系统变量”下找到“Path”变量,选择,双击或点击“编辑”,将“;D:\php;D:\php\ext”加到原有值的后面,当然,其中的“D:\php” 是我的安装目录,你要将它改为自己的php安装目录
E:\DEDECMS\php5;E:\DEDECMS\php5\ext
3\
加入到#LoadModule vhost_alias_module modules/mod_vhost_alias.so 后面
LoadModule php5_module E:/DEDECMS/php5/php5apache2_2.dll
PHPIniDir "E:/DEDECMS/php5"
4\
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
/index.html出现
出现 Parse error: syntax error, unexpected T_STRING
取消 AddType application/x-httpd-php .html 这句就ok了,真tmd怪了
发现与php.ini 中的 ;extension=php_mbstring.dll 这行取消";"有关
要么取消http.conf中
AddType application/x-httpd-php .html
或php.ini中的改为
;extension=php_mbstring.dll
则正常运行
====================================
参看 http://www.idouye.com 爱豆叶资料分享
发表评论
-
CentOS 下管理自定义 PHP 计划任务代码的守护进程脚本
2012-02-17 15:32 2116from http://micate.me/centos-ph ... -
CentOS 6 架設 apache + php + mysql
2012-02-17 15:29 14561.Download Centos 6 Minimail CD ... -
新_CentOS 6下搭建Apache+MySQL+PHP+SSL
2012-02-17 15:22 1222CentOS 6下搭建Apache+MySQL+PHP+SSL ... -
CentOS 5.5+Apache+PHP+MySQL 5部署笔记(更新)
2012-02-17 14:54 1671[日期:2011-05-06] 来源:Linux社区 作者: ... -
linux下apache2.2性能优化和安装_重要
2011-06-05 11:33 26012011年02月17日 星期四 23:31转载自 macaqu ... -
定制Apache的防盗链模块 Mod_perl<1>
2011-05-28 12:20 1427from http://bbs.chinaunix.net/v ... -
详细解析用Squid实现反向代理的方法
2011-05-06 18:04 1002from http://tech.ccidnet.com/a ... -
apache与Tomcat整合配置文档[windows].txt
2011-04-06 11:20 12871\下载的软件(可以从此网址下载得到http://www.a ... -
apache 防盗链
2011-03-27 23:11 18372010-09-25 22:09apche有rewrite_m ... -
apache modperl防盗链
2011-03-27 23:02 11652010-09-25 21:41定制Apache的 ... -
很好的一个运维博客
2011-01-26 17:05 1033陈子的学前班笔记(很值得一看) http://blog.si ... -
apache防盗链(mod_perl试用二)
2011-01-26 17:03 948引用(2010-05-27 00:07:01) 转 ... -
apache 防盗链,限带宽和连接数
2011-01-26 16:59 1135防盗链原理: http标准协议中有专门的字段记录referer ... -
Apache 防盗链(Apache Anti-Leech)技术的简单实现
2011-01-26 16:49 1052引用. 使用 rewrite 技术实现 Apache 防盗链 ... -
Linux上Apache反向代理之ProxyPass IIS网站总结
2010-08-19 13:53 2226Linux上Apache反向代理之ProxyPass IIS网 ... -
Apache的ProxyPass指令详解
2010-08-19 13:33 2146文章分类:JavaEye 关键字: ... -
Windows下安装多个Apache服务
2010-08-18 09:59 1309安装好Apache以后,可以 ... -
apachemod_proxy 集群
2010-07-06 10:58 816下面以在apachemod_proxy下做的反向代理负载均衡为 ... -
Apache RewriteRule的标志一览
2010-06-30 11:38 1119也可请参考下面网址 http://res.phpchina.c ...
相关推荐
总结起来,"Apache2.2 tomcat-6.0.18负载均衡与集群"是一个复杂但关键的架构,涉及到Apache的mod_proxy和mod_jk模块,以及Tomcat的集群配置。这个主题涵盖了如何利用这些工具和技术创建一个高可用、高性能的Web服务...
总结来说,Apache 2.2 与 Tomcat 6.0 集群和负载均衡的配置是一项复杂但至关重要的任务,涉及到服务器复制、会话共享、负载均衡策略以及故障恢复等多个环节。通过精心设计和实施,可以构建出稳定、高效的Web服务环境...
Apache 2.2 和 Tomcat 6.0 的负载均衡配置是提高Web应用程序性能和可扩展性的重要技术。在高流量环境下,通过将工作负载分散到多个Tomcat实例上,可以确保服务的稳定性和响应速度,同时避免单一服务器过载。下面我们...
Apache2.2与Tomcat6.0的组合可以构建一个高效、可靠的负载均衡服务器系统,以分散客户端请求到多个后端应用服务器,提高整体服务的可用性和响应速度。以下是搭建和配置的关键步骤及知识点: 1. **Apache2.2安装配置...
Windows下整合Apache2.2和Tomcat6.0 集群与负载均衡,本人亲测可用,已经使用到企业应用开发中,长期以来未出现任何问题,内容详尽,即使小白也是一看即懂、
### Apache和Tomcat集群配置详解 #### 一、软件准备 在进行Apache和Tomcat集群配置之前,首先需要准备所需的软件资源。 - **Apache 2.2**: - Windows平台: 从官方网站 [http://httpd.apache.org/download.cgi]...
最后,对于大型或高并发的生产环境,通常会考虑使用负载均衡、集群和反向代理等高级配置,以提高系统的可扩展性和可用性。例如,可以结合Nginx作为前端反向代理服务器,将请求分发到多个Tomcat实例,实现负载均衡。 ...
以上知识点总结了文档中提到的关于Tomcat6和Apache2.2实现负载均衡和集群的核心概念、组件、配置方法以及可能遇到的问题和解决方案。这些知识点对于希望在Linux环境中部署Tomcat集群的IT专业人员来说非常有价值。
本文将深入解析如何通过配置Apache和Tomcat实现负载均衡和集群化,从而提升系统的稳定性和响应速度。 #### 一、准备工作 首先,我们需要准备必要的软件: - **Apache**: 下载适合Windows平台的Apache安装包`...
本教程将探讨如何在一台机器上配置Apache 2.2.15与Tomcat 6.0的集群,以实现负载均衡和提高服务的可用性。 首先,Apache 2.2.15是Apache HTTP Server的一个版本,它提供了强大的静态内容处理能力和与其他服务器的...
### Tomcat + Linux 负载均衡集群配置详解 #### 一、背景介绍与环境配置 在企业级应用中,为了提升系统的可用性与性能,通常会采用负载均衡技术进行多台服务器之间的流量分发。本文将详细介绍如何利用 Apache 和 ...
9. **集群与负载均衡**:在大型生产环境中,可能需要配置Tomcat集群以实现负载均衡和高可用性。这可以通过设置复制、session共享和负载均衡策略来实现。 10. **故障排查**:当遇到问题时,可以通过查看错误日志、...
标题中的“tomcat6.0”指的是Apache Tomcat 6.0版本,这是一个开源的Java Servlet容器,主要用于部署和运行Java EE(Enterprise Edition)应用程序,特别是JSP(JavaServer Pages)和Servlet。Tomcat作为轻量级应用...
8. **集群与负载均衡**:Tomcat 6.0支持多实例间的session复制,实现集群环境下的高可用性。配合负载均衡器,可以实现请求在多个Tomcat实例间的分配,提高系统整体处理能力。 9. **错误处理与调试**:Tomcat提供...
10. **集群与负载均衡**:虽然Tomcat 6.0不是设计用来做大型集群部署的,但可以通过修改`conf/server.xml`文件配置多个`<Engine>`、`<Host>`和`<Connector>`元素,实现简单的负载均衡和故障转移。 总之,Apache ...