centos mod encoding,Centos 7

大家好,今天小编来为大家解答centos mod encoding这个问题,Centos 7很多人还不知道,现在让我们一起来看看吧!

如何配置httpd.conf

如何配置httpd.conf和修改文件目录访问权限

Apache的基础设置主要是通过httpd.conf来设置和管理的我们要修改Apache的相关设置,主要是通过修改httpd.cong我们来看看httpd.conf的内容,主要分为3个部分:

第一节:全球环境

第二节:Main但是,inetd是在收到http的连接请求后启动的,并以连接结束。这是个沉重的负担吗?所以它通常是独立启动的。

ServerRoot

这是apache的目录

#locdfile/use/local/httpd/logs/httpd.lock

保持默认值不变。

PIDfile/usr/local/httpd/logs/httpd.PID

这个文件记录了apache的父处理程序id。

scoreboardfile/usr/local/httpd/logs/httpd.scoreboard

该文件存储关于处理程序的信息。

#ResourceConfigconf/srm.conf

#AccessConfigconf/access.conf

由于我们是由httpd.conf作为一个整体来管理的,所以这两个文件默认是有注释的,默认值可以保持不变。

超时300

设置超时时间。如果客户端超过300秒未连接到服务器,或者服务器超过300秒未向客户端发送信息,则断开连接。

保持活动开启

允许客户端的连接有多个请求。将其设置为Off表示不允许。

MaxKeepAliveRequests100

每次连接最大的请求树,数字越大,性能越好。0表示无限制。

MinSpareServer5

MaxSpareServers10

MinSpareServer5意味着至少会有5个空闲进程。如果实际数量少于该数量,将添加额外的进程。MaxServers10表示空闲处理程序的最大数量。如果你的网站需求量大,可以把这个数字设置的大一些,但是不要把这个数字设置的太大。

开始服务器5

启动时的服务器数量

最大客户端数150

当然,同时连接的最大数量不能设置得太小。一旦达到此数量,就不能再添加更多的客户端。

MaxRequestPerChild0

在子流程产生结果之前限制请求的数量,0表示没有限制。

#听3000

#听着12.34.56.78:80

使用另一个连接端口或IP。

BindAddress*

可以监听*(所有IP地址)、指定IP地址或完整域名。

#loadmodulefoo_modulelibexec/mod_foo.so

使用DSO模块

#ExtendedStatusOn

您可以查看apache的状态信息,默认情况下它是关闭的。

[第二部分]

如果以前的服务器类型是inetd,请跳到ServerAdmin。

端口80

独立服务器监听的连接端口当然可以是小于1023的其他端口号。

用户nobody

无名小组

执行httpd的用户和组

ServerAdmin管理员的电子邮件地址

这是管理员的电子邮件地址。如果apache有问题,你会发信通知管理员。当然,你也可以设置一个网页专用的帐号来接收邮件。

ServerName您的主机名

这是主机名。如果没有域名,也可以用IP

DocumentRoot

这个目录是apache放置网页的地方,其中的index.html是连接到这个主机的默认主页。

符号链接后的选项

AllowOverridenone

这个目录设置用户放置网页的目录(public_html)的执行动作。详细的目录访问方法将在后面描述。

选项索引FolloeSymLinks

AllowOverrideNone

订单允许、拒绝

允许所有人

这个目录设置apache的Web目录(htdocs)的执行动作

UserDirpublic_html

用户可以在自己的目录下设置一个public_html目录来放置网页,然后输入用户名进行连接...老谢胖妹尹牧?/a

index.html董事索引

在此设定默认主页的名称。

AccessFileName。htaccess

这是控制访问的文档的名称。通常,它使用默认值。htaccess名称。htaccess的用法将在后面解释。

订单允许、拒绝

全部否认

这用于防止其他人看到以开头的文件内容。ht,并且不仅保护。htaccess,还包括。htpasswd。当然也可以直接写。如果更改AccessFilename,例如,更改。htaccessto。accessht,请记得在这里做相关修改,以免别人看到。

#CacheNegotiatedDocs

注释是告诉代理不要在缓存中存储交互生成的文件。如果#被移除,它将被存储在缓存中。

对使用CanonicalName

使用默认情况下启用的标准名称。假设有一个web服务器,它的全名是www.sample.com,俗称www如果我们...ttp://www/abc

typeconfig/usr/local/httpd/conf/mime.types

指定存储MIME文件类型的文件。您可以自己编辑mime.types文件。

默认类型文本/纯文本

服务器不识别此文档类型时的默认格式。此设置用作普通文本。

mimemagicfile/usr/local/httpd/conf/magic

mod_MIME_magic模块使服务器能够通过文件内容确定其MIME类型。如果mod_mime_magic模块被加载,MIMEMagicFile将被处理。如果是?,则表示如果不加载该模块,将处理该段。

主机查找关闭

如果打开,每次IP将被解析到名称服务器,并且该连接的名称(例如,www.apache.org)将被记录。如果关闭,将只记录IP。

errorlog/usr/local/httpd/logs/error_log

指定发生错误的日志文件(error_log)的位置。如果未指定错误日志文件,将使用该文件。

日志级别警告

记录分为许多级别,这里提醒一下。每个等级如下:等级描述

调试调试信息

信息一般信息

注意重要信息

警告警告信息

错误发生了一个错误。

紧急情况

警报的即时情况

Amerg系统正在消亡。

日志格式"${UserAgent}i共同的

日志格式%U如果设置为Email,将会有mailto:一个指向管理员的超链接。

别名/图标//usr/local/httpd/icons/

使用较短的别名,格式为:别名别名原始名称。

scriptalias/CGI-bin//usr/local/https/CGI-bin/

与Alias相同,只是这是设置服务器脚本的目录。

索引选项FancyIndexing

显示一个漂亮的文件列表(图形对应以下文件)

AddIconByEncoding(CMP,/icons/compressed.gif)x-conpressx-gzip

艾迪康·/icons/blank.gif^^blankicon^^defaulticon/icons/unknow.gif

这些是显示文件列表时各种文件类型对应的图形(以前叫FancyIndex)。例如,这三个文件的表示形式都是.gif

#AddDescription该指令可以为不同的目录提供不同的保护。但是,这样的设置只有在服务器重新启动时才会生效,灵活性较差。通过AccessFile指令指定访问控制文件的方式更加灵活。在Apache服务器中设置用户访问控制权限的步骤如下:

1.首先,如下设置httpd.conf文件:

#AllowOverrideFileInfoauthconfig限制

#Options多视图索引SymLinksIfOwnerMatchincludesnoexec

选项包括以下符号链接索引

AllowOverrideAll//*注意,AllowOverride必须设置为All,以便下面的。htaccess文件将工作。

订单允许、拒绝

允许所有人

#

#订单拒绝,允许

#拒绝所有人

#

#指定用于配置访问控制权限的文件名。

AccessFileName。htaccess

2.创造的内容。htaccess文件

要控制一个目录的访问权限,必须建立一个访问控制文件,用“.htaccess"前面指定的文件名,其内容格式如下:

AuthUserFile用户帐户密码文件名

AuthGroupFile组帐户密码文件名

AuthName屏幕提示文本

AuthType身份验证模式

密码验证方法

AuthType目前提供两种用户身份验证方法:基本和摘要。

密码验证设置方法与httpd.conf中的相关设置相同

具体例子如下:

AuthUserFile/etc/secure.user

AuthName安全认证中心

AuthType基本

要求有效用户

3.建立用户密码文件。

如果是第一次创建用户密码,命令格式如下:

密码文件名用户名

在上面的示例中,我们将用户密码文件放在/etc/secure.user文件中,因此我们应该这样做:

htpasswd-c/etc/secure.usersword

程序会提示你输入两次用户的密码,然后用户密码文件就创建好了,用户也就添加好了。

如果要向密码文件添加新用户,请遵循以下命令格式:

Htpasswd密码文件用户名

这样重启httpd后,在进行WEB目录时会弹出一个对话框,要求输入用户名和密码。

4.如何降低访问控制对Apache性能的影响?

频繁使用访问控制会对Apache的性能产生很大的影响,那么如何降低这种影响呢?最简单有效的方法之一是减少。htaccess文件,它可以防止Apache根据。htaccess文件。它不仅寻找。htaccess文件,但它也在当前目录的父目录中查找。

/

/usr

/usr/local

/usr/local/等等

/usr/local/etc/https

/usr/local/etc/httpd/htdocs

/usr/local/etc/httpd/htdocs/docs

通常,根目录中没有htaccess文件,但是Apache仍然会例行检查以确保该文件不存在。这是影响服务器效率的一个因素。下面的方法可以消除这个烦人的过程:将AllowOverride设置为None,这样Apache就会检查。htaccess文件。将/root目录的AllowOverride选项设置为None,只将需要访问控制的目录的AllowOverride选项设置为all。例如,在下面的示例中,关闭了/root目录的AllowOverride选项,仅打开了/usr/local/etc/httpd/htdocs目录的allowoverride选项。这样,系统只

mac怎么搭建本地web服务器?

如果你是苹果电脑,MacOSX系统已经自带了Apache服务器,并且自带php编译器打开终端,输入sudoapachectlstartsudo表示用root权限运行输入密码,输入时无提示,输入完后回车确认打开浏览器,在浏览器中输入本机ip地址进入系统偏好设置-网络可查看本机ip此时暂不开启php编译器,在文本中编写一个静态网页

ios开发教程

第一课oc实现类的定义

第二课oc实现对象的定义

开启阿帕奇服务器之后,电脑就是一个web服务器,将.html的文本保存在桌面上,并利用复制粘贴的功能将其保存在磁盘目录下,即根目录下。资源库-WebServer-Documents,改过程中会提示你出入管理员密码,可利用显示中的显示文件路径。此时打开浏览器输入你的ip地址即可查看到该页面。只要将文件放到该路径下,所有的主机都可以看到你的网页。要想用网页实现一个用户登录的功能,就需要一个动态的网页,必须开启php模块。开启php模块要先进apache的配置文件。新建一个文本,创建一个php文件将其保存到桌面上,并用复制粘贴的功能将其保存到磁盘目录下的资源库-WebServer-Documents下开启php编译器,打开终端输入cd/cdetccdapache2/之后就进入apache2的目录下,可输入ls查看目录。输入sudovihttpd.conf回车在apache的配置信息中,可以看到一个#loadModolephp5_module的模块,我们需要将其前面的#删除,将光标移动到#位置,按一下键盘上的“i”,可以看到#已经消失,然后按esc键,输入“:x“表示保存,按回车确认。":q"表示不保存退出。执行sudoapachectlstop在重新启动sudoapachectlstart回车确认再次访问你的ip地址进入.php文件会发现输出结果时7,查看源码时也是7。新建一个页面作为登录界面login.html

留言系统用户登录

保存到桌面。双击打开之后把编码改成utf8,可以看到登录界面。新建一个logincheck.php文件hereretry"}

请教Apache+weblogic如何配置session粘连?

apache2.2+weblogic101)weblogic集群,集群中有三个server。

端口分别为7000,7001,7002。apache的httpd.conf中配置Listen80apache和weblogic的2个server都在同一台服务器上,IP地址相同。第三个server单独一个服务器2)apache安装weblogic插件,apache的转发配置中,设置如下,希望请求都转发到7001和7002上#TM3Weblogic.conf#@ver3.x#dispatchforservergroup:frameworkMatchExpression/ServiceDispatcherServletWebLogicCluster=20.12.2.52:7001,20.12.2.51:7002MatchExpression/ServiceDispatcherServlet/frameworkWebLogicCluster=20.12.2.52:7001,20.12.2.51:7002MatchExpression/ServiceDispatcherServlet/framework/*WebLogicCluster=20.12.2.52:7001,20.12.2.51:7002MatchExpression/CodeSynServletWebLogicCluster=20.12.2.52:7001,20.12.2.51:7002MatchExpression/*WebLogicCluster=20.12.2.52:7001,20.12.2.51:7002#dispatchforservergroup:defaultMatchExpression/ServiceDispatcherServlet/defaultWebLogicCluster=20.12.2.52:7001,20.12.2.51:7002MatchExpression/ServiceDispatcherServlet/default/*WebLogicCluster=20.12.2.52:7001,20.12.2.51:7002

wps如何修改httpd.conf中的配置?

如果工作空间更改到D盘下的php文件夹,要相应的更改(比如我的php安装文件在C:AppServApache2.2conf)下的httpd-conf文件的下面两个配置:

DocumentRootD:php

DirectoryD:php>

如何在Centos系统的服务器上搭建自己的小网站?

在CENTOS中可以通过安装APACHE来提供WEB服务,你的机器如果可以上网的话,直接运行如下命令安装该软件yuminstallhttpd安装完成后将你的网站文件上传到CENTOS中修改配置文件httpd.conf(修改网站文件主目录,以及端口等)启动服务servicehttpdstart正常的话就可以访问网站了

linux下怎样配置web服务器?

工具/原料

Linux操作系统

Web服务器配置详解

方法/步骤

1.Apache是Linux下的Web服务器,Apache用的是静态页面,需要加载模块来支持动态页面,会动态实时的调整进程来处理,最合理的使用多核CPU资源,支持虚拟主机应用,多个Web站点共享一个IP地址。

安装Web服务

先安装Web服务,通过命令yumgroupinstall命令进行安装,建议用groupinstall而不用Install是因为groupinstall,会把该服务所有相关的服务包一起安装,这样不会有丢失。

2.通过servicehttpdrestart来开启服务,这里用restart而不用start的原因是restart更安全,因为不知道该服务是否已经开启,如果已经start了再次用start可能会有意外的问题产生,故这里用restart.

3.通过命令chkconfighttpdon来开启httpd服务在下次开机后,仍然是开启有效的,这样的好处在于通过设置自动开启服务,避免人为失误操作,也会保证计算机重启或者断电后服务还是开启的。

4.验证httpd服务是否正常开启,是否能够对外提供服务,进入/var/www/html/,这里是主站点,写一个简单的页面,然后重定向到index.html,这是默认的首页。通过http访问该服务,发现已经成功服务该站点。

5.通过命令vim/etc/httpd/conf/httpd.conf可以对httpd配置文件进行修改,也可以用配置文件里面的功能,有些功能用#号注释掉了,如果想使用该功能的话,直接删除#号,可以让内置的配置文件该功能生效。

6.通过命令ll/etc/httpd可以查看到该目录下有conf和conf.d目录文件,再进一步查看/etc/httpd/conf.d下面可以看到的文件都是httpd的模块文件,用来支持动态页面的模块文件。

7.Apache和Selinux之间的关系,进入/var/www/html/目录下,通过ll_Z查看目录下index.htmlSelinux属性,通过命令ps_auxZ|grephttp查看httpd的进程,这些http进程都有httpd_t的Selinux上下文属性,Selinux就规定了http_t这类的进程上下文属性可以访问httpd_sys_content_t这类文件的上下文属性,从而保证了网站的内容可以被访问。

8.查看Apache日志信息,日志信息存储在/var/log/httpd/目录下,可以查看http访问的日志及https的访问日志,可以查看错误的http日志及https的错误日志等信息,

tomcat6.0怎么修改配置文件server.xml以便启用Ajp13

你看看这个:

tomcat6_apache2.2_ajp负载均衡加集群实战

环境:

--------------------------------------------

一台apache2.2服务器,三台tomcat服务器:

apache2.2服务器

1.ip:192.168.1.20

2.只装apache软件:httpd-2.2.6.tar.bz2

安装路径:/usr/local/apache2

tomcat服务器:均配置相同的应用。

1.集群名:balancer://tomcatcluster

2.三台集群服务器ip:

IP_1:192.168.1.31

IP_2:192.168.1.32

IP_3:192.168.1.33

3.测试应用程序test文件夹放在tomcat6的webapps目录下

操作系统均为:centos 4.5_x86

jre:1.6:jdk-6u1-linux-i586-rpm.bin

tomcat6.0:编译好的二进制软件包apache-tomcat-6.0.13.tar.gz

tomcat6.0安装路径:/usr/local/tomcat6

oralce的jdbc:class12.jar

软件包存放的路径:/home/xiutuo/software/

java安装路径:/usr/java/jdk1.6.0_01

使用普通用户:xiutuo来启动tomcat6

tomcat6开机自动启动脚本:/etc/init.d/tomcat

下载路径:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

一:前言:

1.apache对tomcat集群支持有俩种方式:

a.通过apache2.1之后版本后内置的proxy_ajp。

b.对于apache2.1之版本则通过tomcat的jk2.0.4的mod_jk2.so:

(该版本已经停止开发)

将解压缩后的目录中的modules目录中的mod_jk2.so

文件复制到apache的安装目录下的modules目录中。

********************

俩种方式比较:

proxy_ajp配置较简单,主要表现在proxy_ajp目前只支持配置到目录,

还不支持对文件名称的pattern模式匹配

(即还不能定义到只对jsp文件起作用)。

而jk2则可配置性强,但已经停止开发

********************

官方对ajp和jk2说明:

JK2 has been put in maintainer mode and no further development will take place.

The reason for shutting down JK2 development was the lack of developers interest.

Other reason was lack of users interest in adopting JK2,

caused by configuration complexity when compared to JK.

The latest official JK2 release is 2.0.4.

JK2 will have it's successor within core Apache2.1/2.2 distribution.

We have developed new proxy_ajp that is an addition to the mod_proxy

and uses Tomcat's AJP protocol stack. It is developped in httpd-2.1

and integrated in it. We have also developed a new proxy_balancer

module for load balancing http and ajp protocol stacks.

JK will be fully supported for all other web servers.

The next JK release is planned for the end of November.

Lots of code from JK2 has been ported to JK

2.tomcat集群方式:

a.DeltaManager

--现在采用的该方式:内部机器集群少采用

b.BackupManager

********************

两种集群方式官方说明:

using the DeltaManager to replicate session deltas.

By all-to-all we mean that the session gets replicated to

all the other nodes in the cluster. This works great for smaller cluster

but we don't recommend it for larger clusters(a lot of tomcat nodes).

Also when using the delta manager it will replicate to all nodes,

even nodes that don't have the application deployed.

To get around this problem, you'll want to use the BackupManager.

This manager only replicates the session data to one backup node,

and only to nodes that have the application deployed.Downside of

the BackupManager: not quite as battle tested as the delta manager.

********************

3.负载均衡(load-balance)定义:

在服务器端短时间内获得大量的请求,单一服务器无法在一个较短的时间内响应这些请求,

此时服务器需要一个机制,请求按照多个服务器不同的负载能力,把这些请求合理的分配。

4.集群(cluster):

在多个服务器之间共享用户信息,资源等。

tomcat6_apache2.2负载均衡加集群:高可用性至高体现。

现在的带集群功能相关软件oracle10g,mysql5,tomcat等。

二:软件安装

1.apache服务器安装:

这里主要介绍apache2的源码安装

# cd/home/xiutuo/software/

# tar-zvxf httpd-2.2.6.tar.gz

# cd httpd-2.2.6

# mkdir-p/usr/local/apache2

#./configure\

--prefix=/usr/local/apache2\

--enable-modules=so\

--enable-mods-shared=all\

--enable-proxy\

--enable-proxy-connect\

--enable-proxy-ftp\

--enable-proxy-http\

--enable-proxy-ajp\

--enable-proxy-balancer

注释:这里测试用,编译了所有可用模块,并激活了tomcat集群需要的

enable-proxy,enable-proxy-http,enable-proxy-connect,enable-proxy-ajp

和enable-proxy-balancer,其中proxy-ajp和proxy-balancer必须依赖proxy,

如果是自定义的编译除了以上几个必须的模块外,mod_status也要编译进去,切记。

enable-proxy-ftp可以不编译。

# make

# make install

2.三台tomcat服务器安装

主要介绍jdk1.6u1和tomcat6的安装,三台机器重复此工作就可以了,

当然记得ip一定要设置正确。

jdk1.6安装

-------------------------------

a.卸载系统自带jdk

# rpm-e j2sdk-1.4.1-fcs

b.安装新jdk

# cd/home/xiutuo/software

进入软件包存放目录

# chmod a+x jdk-6u1-linux-i586-rpm.bin

使它有执行权限

#./jdk-6u1-linux-i586-rpm.bin

多敲几个空格,然后看到[yes]的时候输入yes,回车

然后在当前目录下就生成了jdk-6u1-linux-i586-rpm

# rpm-ivh jdk-6u1-linux-i586-rpm

c.设置环境变量

仅设置某个用户而不是所有用户可以修改~/.cshrc,~/.bash_profile文件,

追加下面一段,如果为所有用户以及以后添加的用户都加上环境变量的话,

追加/etc/profie文件.

***主意不要在profile和~/.cshrc或~/.bash_profile中重复追加**

这里:

# vi/etc/profile

//java

//如果你安装的j2sdk的路径不一样,请自行修改

JAVA_HOME=/usr/java/jdk1.6.0_01

export JAVA_HOME

CLASSPATH=/usr/java/jdk1.6.0_01/lib:/usr/java/jdk1.6.0_01/jre/lib

export CLASSPATH

PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export PATH

JRE=/usr/java/jdk1.6.0_01/jre

export JRE

d:立即生效

//如果你修改的是/etc/profile

# source/etc/profile

//如果你修改的是~/.cshrc

# source~/.cshrc

//如果你修改的是~/.bash_profile

# source~/.bash_profile

e:测试成功否

# java-version

Java(TM) SE Runtime Environment(build 1.6.0_01-b06)

Java HotSpot(TM) Client VM(build 1.6.0_01-b06, mixed mode, sharing)

看到这个消息,就ok啦

----------------------------------------------

tomcat6安装

tomcat6更详细的安装请看blog上tomcat文章

----------------------------------------------

a.安装tomcat,

# cd/home/xiutuo/software//进入软件包存放目录

# tar-zvxf apache-tomcat-6.0.13.tar.gz//解压

# mv apache-tomcat-6.0.13/usr/local/tomcat6//安装

# cd/usr/local/tomcat6/bin///进入安装目录

# tar-zvxf jsvc.tar.gz//解压

# cd jsvc-src//进入jsvc-src目录

# autoconf

#./configure--with-java=/usr/java/jdk1.6.0_01

# configure时切记加java的jdk路径,否则无法使用普通用户开机自动启动tomcat

# make//编译生成jsvc文件

# cp jsvc..//拷贝jsvc到上级目录

# cd..//回到上级目录

# cd/usr/local/tomcat6/

//运行下面的命令可以使tomcat以daemon方式运行

#./bin/jsvc-cp./bin/bootstrap.jar\

-outfile./logs/catalina.out\

-errfile./logs/catalina.err\

org.apache.catalina.startup.Bootstrap

b.配置oralce的jdbc

//拷贝oracle的jdbc到/usr/local/tomcat6/lib目录下

# cp/home/software/class12.jar./lib/

c.配置tomcat用户

# cd/usr/local/tomcat6/conf

# vi tomcat-users.xml

内容如下:

<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>

<role rolename="tomcat"/>

<role rolename="role1"/>

<role rolename="manager"/>

<role rolename="admin"/>

<user username="tomcat" password="tomcat" roles="tomcat"/>

<user username="role1" password="tomcat" roles="role1"/>

<user username="both" password="tomcat" roles="tomcat,role1"/>

<user username="admin" password="admin" roles="admin,manager"/>

</tomcat-users>

请修改tomcat里所有定义用户的密码:即修改password为自己想要的值。

d.把应用程序文件夹test放到webapps下

3.tomcat负载均衡和集群配置

参考官方配置文档:

a.tomcat6配置文件server.xml和应用程序的web.xml

**开放负载均衡,默认使用ajp协议时使用8009端口(使用http协议时为8080端口)

**修改tomcat的 conf/server.xml的<Engine>(使用ajp协议时配置)

<!-- You should set jvmRoute to support load-balancing via AJP ie:

<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">

-->

<Engine name="Catalina" defaultHost="localhost">

改成

<!-- You should set jvmRoute to support load-balancing via AJP ie:

-->

<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1">

<!--

<Engine name="Catalina" defaultHost="localhost">

-->

说明:

第一台tomcat就把jvmRoute="tomcat1"

第二台tomcat就把jvmRoute="tomcat2"

第三台tomcat就把jvmRoute="tomcat3"

**开放集群

**修改tomcat的 conf/server.xml(使用ajp协议时配置)

在<Engine>后面或者<Host>后面简单的加上

<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.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"/>

<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"/>

</Channel>

<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"

filter=""/>

<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"

tempDir="/tmp/war-temp/"

deployDir="/tmp/war-deploy/"

watchDir="/tmp/war-listen/"

watchEnabled="false"/>

<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>

<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>

</Cluster>

***配置应用的web.xml

***在每个webapps应用中,修改配置文件web.xml文件添加元素<distributable/>

在web.xml文件中<web-app>元素下增加以下内容:

<!--此应用将与群集服务器复制Session-->

<distributable/>

具体修改如下:

修改前:

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns=""

xmlns:xsi=""

xsi:schemaLocation=" "

version="2.5">

</web-app>

修改后:

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns=""

xmlns:xsi=""

xsi:schemaLocation=" "

version="2.5">

<!--此应用将与群集服务器复制Session-->

<distributable/>

</web-app>

4.配置apache的ajp负载均衡功能,这里请务必启用反向代理。

******************************

至于其中的原理请参考官方文档说明。

正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。

正向代理还可以使用缓冲特性(由mod_cache提供)减少网络使用率。

反向代理的典型用途是将防火墙后面的服务器提供给Internet用户访问。

反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。

另外,还可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时

存在于同一个URL空间下。

*****************************

参考文档:

tomcat6官方文档

apache中文版本

apache官方英文版本

***配置apache

***修改/usr/local/apache2/conf/httpd.conf文件

确保将以下Module的注释去掉

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

LoadModule status_module modules/mod_status.so

并在最后面,增加

<Location/server-status>

SetHandler server-status

Order Deny,Allow

Deny from all

Allow from all

</Location>

<Location/balancer-manager>

SetHandler balancer-manager

Order Deny,Allow

Deny from all

Allow from all

</Location>

ProxyRequests Off

ProxyPass/test balancer://tomcatcluster/ stickysession=jsessionid nofailover=On

<Proxy balancer://tomcatcluster>

BalancerMember ajp://192.168.1.30:8009 loadfactor=1

BalancerMember ajp://192.168.1.31:8009 loadfactor=2

BalancerMember ajp://192.168.1.32:8009 loadfactor=3

</Proxy>

注释:

ProxyRequests Off表示启用反向代理。

ProxyPass为代理转发的Url,即将所有访问/的请求转发到

群集balancer://tomcatcluster,这里为/test即将所有访问/的请求转发到群集balancer://tomcatcluster的/test目录

BalancerMember为群集的成员,

即群集服务器1或2或3,负载均衡服务器会根据均衡规则来将请求转发给BalancerMember。

配置好后,启动Apahce服务器,访问localhost就会看到群集服务器中应用返回的结果。

访问,显示负载均衡有关信息

5.调试负载均衡集群系统

调试前务必:

先开启三台tomcat6服务器的tomcat服务!

再开启apache服务器的apache服务,切记!

a.开启tomcat服务

# cd/usr/local/tomcat6/bin

#./shutdown.sh//停止tomcat

#./start.sh//启动tomcat

查看tomcat的进程:

# ps-e| grep java

出现了java这个进程的话,说明你的tomcat起来了。

b.开启apache服务

# cd/usr/local/apache2/bin

#./apachectl configtest

//命令检查一下配置是否有误,显示Syntax OK,说明配置正确

#./apachectl stop//停止apache

#./apachectl start//启动apache

6.检验是否负载均衡集群系统成功

访问apache服务器的web服务

如果显示负载均衡有关信息则说明成功了。

接着可以访问即访问到了tomcat的test应用

7.具体的tomcat集群负载均衡优化请参考文档自行设置相关参数

具体的apache优化请参考文档自行设置相关参数

linux下apache+tomcat集群详细配置

环境:

操作系统均为:CentOS 5.1

Apache2.X服务器一台:IP地址192.168.232.4;安装路径/usr/local/apache;

Tomcat6服务器一台:IP地址192.168.232.5;安装路径/usr/local/tomcat;

Tomcat6服务器一台:IP地址192.168.232.6;安装路径/usr/local/tomcat;

配置:

Apache安装:

#./configure--prefix=/usr/local/apache--enable-modules=so--enable-mods-shared=all--enable-proxy--enable-proxy-connect--enable-proxy-ftp--enable-proxy-http--enable-proxy-ajp--enable-proxy-balancer--enable-rewrite

注释:激活tomcat集群需要的 enable-proxy,enable-proxy-http,enable-proxy-connect,enable-proxy-ajp和enable-proxy-balancer,其中proxy-ajp和proxy-balancer必须依赖proxy,如果是自定义的编译除了以上几个必须的模块外,mod_status也要编译进去,切记。enable-proxy-ftp可以不编译。

#make;make install

制作Apache启动项:

#cp support/apachectl/etc/rc.d/init.d/httpd

#vi/etc/rc.d/init.d/httpd

添加以下内容:(包括#号)

# Startup script for the Apache Web Server

# chkconfig: 2345 85 15

# description: Apache is a World Wide Web server.It is used to server

# HTML files and CGI.

# processname: httpd

# pidfile:/usr/local/apache/log/httpd.pid

# config:/usr/local/apache/conf/httpd.conf

增加服务项

#chkconfig--add httpd

#chmod 755/etc/rc.d/init.d/httpd

#chkconfig--level 345 httpd on

JDK安装:

#chmod a+x jdk-6u4-linux-i586-rpm.bin

#./jdk-6u4-linux-i586-rpm.bin

JAVA环境变量设置:

#vi/etc/profile

在文件最后添加以下内容:

JAVA_HOME=/usr/java/jdk1.6.0_04

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

PATH=$JAVA_HOME/bin:$PATH

CATALINA_HOME=/usr/local/tomcat

export JAVA_HOME CLASSPATH PATH CATALINA_HOME

执行如下命令使环境变量生效:

source/etc/profile

测试配置是否成功:

java–version

Tomcat安装:

#wget [url][/url]

#tar zxvf apache-tomcat-6.0.16.tar.gz

#mv apache-tomcat-6.0.16/usr/local/tomcat

Tomcat随机启动:

#vi/etc/rc.local

添加以下内容:

/usr/local/tomcat/bin/startup.sh

tomcat6配置文件server.xml:

<!-- You should set jvmRoute to support load-balancing via AJP ie:

<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">

-->

<Engine name="Catalina" defaultHost="localhost">

改成

<!-- You should set jvmRoute to support load-balancing via AJP ie:

-->

<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcatX">

<!--

<Engine name="Catalina" defaultHost="localhost">

-->

说明:

第一台tomcat就把jvmRoute="tomcat1"

第二台tomcat就把jvmRoute="tomcat2"

<!--

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

-->

去掉注释变为

<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.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"/>

<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"/>

</Channel>

<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"

filter=""/>

<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"

tempDir="/tmp/war-temp/"

deployDir="/tmp/war-deploy/"

watchDir="/tmp/war-listen/"

watchEnabled="false"/>

<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>

<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>

</Cluster>

配置应用的web.xml:

在每个webapps应用中,修改配置文件web.xml文件添加元素<distributable/>

在web.xml文件中<web-app>元素下增加以下内容:

<!--此应用将与群集服务器复制Session-->

<distributable/>

具体修改如下:

修改前:

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="[url][/url]"

xmlns:xsi=""

xsi:schemaLocation=" [url][/url]"

version="2.5">

</web-app>

修改后:

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="[url][/url]"

xmlns:xsi=""

xsi:schemaLocation=" [url][/url]"

version="2.5">

<!--此应用将与群集服务器复制Session-->

<distributable/>

</web-app>

配置apache的ajp负载均衡功能:

确保将以下Module的注释去掉

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

LoadModule status_module modules/mod_status.so

增加以下内容:

# Proxypass Config

Include conf/extra/httpd-modproxy.conf

建立文件httpd-modproxy.conf输入内容:

<Location/server-status>

SetHandler server-status

Order Deny,Allow

Deny from all

Allow from all

</Location>

<Location/balancer-manager>

SetHandler balancer-manager

Order Deny,Allow

Deny from all

Allow from all

</Location>

ProxyRequests Off

ProxyPass/ balancer://tomcatcluster stickysession=jsessionid nofailover=On

<Proxy balancer://tomcatcluster>

BalancerMember [url][/url] loadfactor=1

BalancerMember [url][/url] loadfactor=2

</Proxy>

注释:

ProxyRequests Off表示启用反向代理,必须开启;

ProxyPass为代理转发的Url,即将所有访问/的请求转发到群集balancer://tomcatcluster,这里为/即将所有访问/的请求转发到群集balancer://tomcatcluster的/test目录;

BalancerMember为群集的成员,即群集服务器1或2,负载均衡服务器会根据均衡规则来将请求转发给BalancerMember;

调试负载均衡集群系统:

访问apache服务器的web服务:[url][/url]

如果显示负载均衡有关信息则说明成功了,接着可以访问[url][/url]即访问到了tomcat的应用

***必须先启动Tomcat服务再启动Apache服务!***

参考文档:

[url][/url]

[url][/url]

[url][/url]

[url][/url]

阅读剩余
THE END