首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

inux下的apache+tomcat+ssi,服务器集群,和ssi配置

2012-10-08 
inux上的apache+tomcat+ssi,服务器集群,和ssi配置关于为什么要做服务器集群,其实,我也说不清楚,或许这东西

inux上的apache+tomcat+ssi,服务器集群,和ssi配置

关于为什么要做服务器集群,其实,我也说不清楚,或许这东西我们用起来都很好使吧,在现实的开发中是相当好的,废话不多说了,本应该上截图的,当是不知道在linux有什么截图软件,希望知道的推荐 下
1.准备集成工具
??? 1.jdk jdk-6u24-linux-i586.bin
??? 2.apache httpd-2.2.19.tar.gz,这个我是下载下来自己编译安装的
??? 3.tomcat apache-tomcat-6.0.32.tar.gz 这个可以直接解压使用(4个tomcat 本地3个,远程1个,只要把这个服务器复制3个就可以了,到时我们可以该里面的配在参数,至于远程的服务器我是? 在windows上的,版本是apache-tomcat-6.0.32.zip)
??? 4.mod_jk mod_jk-1.2.31-httpd-2.2.x.so 对于什么样的服务器 配置什么样的mod_jk官网上有,自己去看
2.开始安装软件
??? 说明:我所有的软件都安装在linux的根目录下面,的java文件夹里面,关于所有安装程序都是java文件夹里面的,如果你自己改变来目录请自己替换文件夹,如果你在安装软件的时候出错来,记得请卸载干净,在实际使用命令的时候,如果你不是以root用户登录的话,你执行每条命令的时候都要在前面加上sudo,如创建一个文件夹 sudo mkdir java ,声明 我是用root用户登录的,所以下面的所有命令我都没加sudo
??? 1.jdk
??? ??? (1)复制或剪切jdk-6u20-linux-i586.bin 到java文件下面
??? ??? (2)启动终端:首先得进入java这个目录里面,接着输入命令sudo -s ./jdk-6u20-linux-i586.bin;???
??? ??? (3)接着一路回车,直到询问是否安装,出现yes/no的时候,输入yes/y 回车;
??? ??? (4)等上面的运行完成之后,就需要对JDK进行配置;输入命令sudo gedit /etc/profile,在弹出的文件最后一行中粘贴如下信息:
??? ??? ??? 配置信息代码
??? ??? ??? #set java environment??
??? ??? ??? # 注意bestupon 要替换成你的用户名?
??? ??? ??? JAVA_HOME=/java/jdk1.6.0_24?
??? ??? ??? export JRE_HOME=/java/jdk1.6.0_24/jre?
??? ??? ??? export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH?
??? ??? ??? export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
??? ??? ??? #set java environment

??? ??? (5)重新启动你的机子之后在在终端输入:java -version 如出现如下信息,表示安装配置正确。
??? ??? ??? 终端代码
??? ??? ??? bestupon@bestupon-laptop:~$ java -version?
??? ??? ??? java version "1.6.0_20"
??? ??? ??? Java(TM) SE Runtime Environment (build 1.6.0_20-b02)?
??? ??? ??? Java HotSpot(TM) Server VM (build 16.3-b01, mixed mode)?
??? ??? ??? bestupon@bestupon-laptop:~$?


??? 2.apache??? ???
??? ??? ??? 1.(方法一)使用这个命令安装sudo apt-get install apache2 这样操作比较简单,但安装后的文件分布在linux的各个文件夹里面对我们以后的服务器集群配置的时候不方便,所以我只是提提,不推荐使用此方法
??? ??? ??? 2.(方法二)解压缩httpd-2.2.19.tar.gz到临时目录,如~/httpd-2.2.19.tar.gz
??? ??? ??? 3.进入~/httpd-2.0.63目录,执行
??? ??? ??? ??? 命令一 ./configure --prefix=/java/apache --enable-module=so?
??? ??? ??? ??? 命令二 make
??? ??? ??? ??? 命令三 make install
??? ??? ??? ??? 敲完一个命令记得回车,等执行完没报错再执行第二个命令
??? ??? ??? ??? 如果上述步骤都没报错,那我们就可以启动apache了
??? ??? ??? 4.启动和停止apache
??? ??? ??? ??? 此命令的路径应该是在你apache安装目录,如我的安装目录是/java/apache
??? ??? ??? ??? 启动:/java/apache/bin/httpd -k start
??? ??? ??? ??? 启动时提示:
??? ??? ??? ??? ? httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName.
??? ??? ??? ??? 解决办法是在http.conf中加一行:
??? ??? ??? ??? ? ServerName 127.0.0.1:80
??? ??? ??? ??? 如果启动的时候没有报错,那我们可以输入 127.0.0.1 测试下如果输出是It works!那么说明你成功了,如果不行那么你就用你本机的ip来测试下,如果还不行,你就卸载重装吧,获取本机ip的命令,在终端输入 ifconfig,回车就ok了
??? ??? ??? ??? 停止:sudo /usr/local/apache2/bin/httpd -k stop
??? ??? ??? 5.让Ubuntu开机自动启动apache.
??? ??? ??? ??? 1). 复制 /usr/local/apache2/bin/apachectl到/etc/init.d
??? ??? ??? ??? 2). 加载为服务
??? ??? ??? ??? ???? sudo update-rc.d apachectl defaults
??? 3.tomcat
??? ??? 直接解压tomcat apache-tomcat-6.0.32.tar.gz放到java目录下面去,然后在负责两个,所以总共3个tomcat在linux服务器上面
??? ??? ???
3.进行服务器集群,说明,如果你访问你的apache服务器的时候还没出现It works!,对不起你去重新安装好apache在来看下面的教程吧
??? 1.修改apache的配置文件
??? ??? 1.修改http.conf 文件所在位置/java/apache/conf
??? ??? ??? 1.打开它搜索ServerName 然后出现这么一个字符串 #ServerName www.example.com:80,在此行的下面 加上这么一行 ServerName 127.0.0.1:80
??? ??? ??? 2.在http.conf文件的末尾加上下面的代码
??? ??? ??? ??? #和tomcat集群的配置
??? ??? ??? ??? #可以使用绝对路径以/开头,也可以使用相对路径但是必须是conf/mod_jk.conf
??? ??? ??? ??? Include /java/apache/conf/mod_jk.conf

??? ??? 2.新建mod_jk.conf,找到/java/apache/conf目录在里面新建一个mod_jk.conf文件
??? ??? ??? 1.在此文件里面添加如下代码
??? ??? ??? LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.x.so
??? ??? ??? JkWorkersFile conf/workers.properties

??? ??? ??? #配置日志输出文件
??? ??? ??? JkLogFile? /java/apache/logs/mod_jk.log
??? ??? ??? JkLogLevel? info
??? ??? ??? JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

??? ??? ??? #把访问的所有请求交给controller控制器来处理
??? ??? ??? JkMount /* controller
??? ??? ??? #但以这些结尾的请求不许要交给控制器来处理
??? ??? ??? JkMount /!*.gif controller
??? ??? ??? JkMount /!*.swf controller
??? ??? ??? JkMount /!*.jpg controller
??? ??? ??? JkMount /!*.png controller
??? ??? ??? JkMount /!*.css controller
??? ??? ??? JkMount /!*.js controller??????????????????????????????????
??? ??? ??? JkMount /!*.html controller
??? ??? ??? JkMount /!*.htm controller?
??? ??? 3.配置mod_jk
??? ??? ??? 把我们开始就准备好的mod_jk复制到/java/apache/modules目录下去
??? ??? 4.配置workers.properties文件,在/java/apache/conf目录下面新建workers.properties文件
??? ??? ??? 1.在此文件夹下面加入一下代码
??? ??? ??? #server
??? ??? ??? #配在控制器,这里可以多个只要我们以分号给开就可以来,如worker.list = controller,controller2
??? ??? ??? worker.list = controller
??? ??? ??? #========本地tomcat1========
??? ??? ??? worker.tomcat1.port=8009
??? ??? ??? #192.168.1.101是我本机的ip
??? ??? ??? worker.tomcat1.host=192.168.1.101
??? ??? ??? worker.tomcat1.type=ajp13
??? ??? ??? #server的加权比重,值越高,分得的请求越多
??? ??? ??? worker.tomcat1.lbfactor=1
??? ??? ??? #========本地tomcat2========
??? ??? ??? worker.tomcat2.port=8029
??? ??? ??? worker.tomcat2.host=192.168.1.101
??? ??? ??? worker.tomcat2.type=ajp13
??? ??? ??? worker.tomcat2.lbfactor=1

??? ??? ??? #========本地tomcat3========
??? ??? ??? worker.tomcat3.port=8039
??? ??? ??? worker.tomcat3.host=192.168.1.101
??? ??? ??? worker.tomcat3.type=ajp13
??? ??? ??? worker.tomcat3.lbfactor=1
??? ??? ??? #========远程服务器rem========
??? ??? ??? worker.rem.port=8009
??? ??? ??? worker.rem.host=192.168.1.178
??? ??? ??? worker.rem.type=ajp13
??? ??? ??? #这个是平衡因子,如果数值越大,那么在特定的时间段里面此服务器分到的处理请求就越多 ,如worker.rem.lbfactor=5
??? ??? ??? worker.rem.lbfactor=1
??? ??? ??? #上面的配在是配在来4个服务器集群,3个本地的,也就是我linux上的tomcat,一个远程的也就是windows上的一个???



??? ??? ??? #重试次数
??? ??? ??? worker.retries=3
??? ??? ??? worker.controller.type=lb
??? ??? ??? #指定分担请求的server列表,用逗号分隔
??? ??? ??? worker.controller.balanced_workers=tomcat1,tomcat2,tomcat3,rem
??? ??? ??? #设置用于负载均衡的server的session可否共享 有不少文章说设置为1是可以的,但是我是设置为0才可以的
??? ??? ??? #粘性Session(默认是打开的) 当该属性值=True(或1)时,代表Session是粘性的,即同一Session在集群中的同一个节点上处理,Session不跨越节点。在集群环境中,一般将该值设置为False
??? ??? ??? worker.controller.sticky_session=false
??? ??? ??? worker.controller.sticky_session_force=1
??? ??? 5.进行tomcat配置
??? ??? ??? 我linux的3个tomcat分别取名为apache-tomcat-6.0.32,apache-tomcat-6.0.32-2,apache-tomcat-6.0.32-3???
??? ??? ??? 1.修改apache-tomcat-6.0.32的servler.xml文件
??? ??? ??? ??? 搜索Engine修改成这样
??? ??? ??? ??? ?<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
??? ??? ??? ??? 搜索这个org.apache.catalina.ha.tcp.SimpleTcpCluster修改后的样子
???? ??? ??? ??? <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
??? ??? ??? ??? 其实就是去掉了两边的括号而已

??? ??? ??? ??? 这个服务器我们就修改这些配置,其他的使用默认的
??? ??? ??? 2.修改apache-tomcat-6.0.32-2的servler.xml文件
??? ??? ??? ??? 搜索这个代码<Server port="8005" shutdown="SHUTDOWN">
??? ??? ??? ??? 改成<Server port="8025" shutdown="SHUTDOWN">这样
??? ??? ??? ???
??? ??? ??? ??? <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
??? ??? ??? ??? 改成这样 <Connector port="8082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

??? ??? ??? ??? <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
??? ??? ??? ??? 改成这样 <Connector port="8029" protocol="AJP/1.3" redirectPort="8443" />

??? ??? ??? ??? 搜索Engine修改成这样
??? ??? ??? ??? ?<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">
??? ??? ??? ??? 搜索这个org.apache.catalina.ha.tcp.SimpleTcpCluster修改后的样子
???? ??? ??? ??? <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
??? ??? ??? ??? 其实就是去掉了两边的括号而已

??? ??? ??? 4.修改apache-tomcat-6.0.32-3??? 的servler.xml文件
??? ??? ??? ??? 搜索这个代码<Server port="8005" shutdown="SHUTDOWN">
??? ??? ??? ??? 改成<Server port="8035" shutdown="SHUTDOWN">这样
??? ??? ??? ???
??? ??? ??? ??? <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
??? ??? ??? ??? 改成这样 <Connector port="8083" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

??? ??? ??? ??? <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
??? ??? ??? ??? 改成这样 <Connector port="8039" protocol="AJP/1.3" redirectPort="8443" />

??? ??? ??? ??? 搜索Engine修改成这样
??? ??? ??? ??? ?<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat3">
??? ??? ??? ??? 搜索这个org.apache.catalina.ha.tcp.SimpleTcpCluster修改后的样子
???? ??? ??? ??? <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
??? ??? ??? ??? 其实就是去掉了两边的括号而已

??? ??? ??? 5.修改远程服务器apache-tomcat-6.0.32??? 的servler.xml文件
??? ??? ??? ??? 搜索Engine修改成这样
??? ??? ??? ??? ?<Engine name="Catalina" defaultHost="localhost" jvmRoute="rem">
??? ??? ??? ??? 搜索这个org.apache.catalina.ha.tcp.SimpleTcpCluster修改后的样子
???? ??? ??? ??? <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
??? ??? ??? ??? 其实就是去掉了两边的括号而已
??? ??? ??? ??? 这个服务器我们就修改这些配置,其他的使用默认的

4.所有的配在完毕,下面我们进行集群测试,首先其他所有的tomcat,启动apache,他们两的启动顺序没关系
??? 1.分别测试每个tomcat是否启动正常,分别输入
??? ??? ??? 192.168.1.101:8080
??? ??? ??? 192.168.1.101:8082
??? ??? ??? 192.168.1.101:8083
??? ??? ??? 看看是否已经出现了我们熟悉的小猫来,如果是启动没问题
??? ??? ??? 输入192.168.1.178:8080测试远程服务器是否正常
??? 2.输入192.168.1.101测试本地的apache是否启动正常,如成功了我们进行服务器集群测试,最简单就是输入192.168.1.101如果我们发现出现的不是It works!而是我们熟悉的小猫,恭喜你你服务器集群成功了,但是,你怎么知道,我们集群成功了了,下面我上传一个工程,你把他放入到你没一个tomcat的工作目录下面然后我们再测试就能看到服务器集群是否成功了
??? 测试地址,输入192.168.1.101/test/test2.jsp如果你看到页面上的session是在变化的而且变化的规律貌似我们能看明白,那说明我们的集群就成功了

?

关于软件明天上传,如果觉得好的话,帮我顶起来,给我继续写下去的力量,关于ssi的配置我会在接下来的文章中添加上

热点排行