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

apache +tomcat 群集 组播路由丢掉

2012-08-27 
apache +tomcat 群集 组播路由丢失.自定义apache的发布目录: 通过修改Apache的配置文件%APACHE2_HOME%/con

apache +tomcat 群集 组播路由丢失.

自定义apache的发布目录: 通过修改Apache的配置文件%APACHE2_HOME%/conf/httpd.conf可以定置自己的Apache服务器。注意修改该配置文件前要先停止正在运行的Apache服务器。在相应位置增加以下行可以定义自己的文件系统容器,设置自己的本地文件系统到网络空间的映射:Alias /homepage "D:/heavyz/homepage"<Directory "D:/heavyz/homepage">  Options Indexes FollowSymLinks -ExecCGI  DirectoryIndex index.php index.html home/index.php home/index.html  Order allow,deny  Allow from all  Deny from enpc.fr</Directory>       分析:以上语句通过<Directory>标签定义了一个文件系统容器,并使用Alias指令把该容器映射到/homepage的URL上去。通过这里的设置,不会影响原来的DocumentRoot,或其它的已自定义的文件系统容器。在该文件系统容器中还定义了一系列属性。对上述配置的解释如下:    * <Directory "D:/heavyz/homepage"> and </Directory> : 定义本地文件系统容器,该容器位于D:/heavyz/homepage中。    * Alias /homepage "D:/heavyz/homepage" : 当URL中的路径名为/homepage时,将映射到该文件系统容器中。    * Options Indexes FollowSymLinks -ExecCGI : 当搜索不到默认首页时,允许列出目录的内容;允许目录中的符号链;不允许执行CGI脚本。    * DirectoryIndex index.php index.html home/index.php home/index.html : 按照列出的四个本地URL搜索默认首页,最先找到的文件作为首页返回。(即若URL:http://localhost/homepage,则会先搜索默认首页,若查不到相应的默认首面,则根据第二点配置,显示homepage当前目录的文件列表)    * Order allow,deny : Order规定了HTTP客户的访问权限。先允许再禁止(allow,deny)表明allow中允许的访问权限优先级低于deny中禁止的访问权限。    * Allow from all : 先允许来自任何地方的HTTP客户的访问请求。    * Deny from enpc.fr : 再禁止域名为enpc.fr的HTTP客户的访问请求(国立路桥学校ENPC的主机不允许访问该页面),对于这些客户,服务器返回403 Forbidden信息。注意Order中定义了deny的优先级高于allow,故该指令将生效。假设在本地文件系统上存在文件D:\heavyz\homepage\index.html,重新启动Apache服务器,并访问页SEVERE: Unable to start cluster.java.net.SocketException: No such device        at java.net.PlainDatagramSocketImpl.join(Native Method)        at java.net.PlainDatagramSocketImpl.join(PlainDatagramSocketImpl.java:172)        at java.net.MulticastSocket.joinGroup(MulticastSocket.java:276)        at org.apache.catalina.cluster.mcast.McastServiceImpl.start(McastServiceImpl.java:221)        at org.apache.catalina.cluster.mcast.McastService.start(McastService.java:323)        at org.apache.catalina.cluster.mcast.McastService.start(McastService.java:261)        at org.apache.catalina.cluster.tcp.SimpleTcpCluster.start(SimpleTcpCluster.java:781)        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1004)        at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)        at org.apache.catalina.core.StandardService.start(StandardService.java:448)        at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)        at java.lang.reflect.Method.invoke(Method.java:597)        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)Oct 2, 2010 3:12:37 PM org.apache.catalina.startup.Catalina startSEVERE: Catalina.start: LifecycleException:  java.net.SocketException: No such device        at org.apache.catalina.cluster.tcp.SimpleTcpCluster.start(SimpleTcpCluster.java:797)        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1004)        at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)        at org.apache.catalina.core.StandardService.start(StandardService.java:448)        at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)        at java.lang.reflect.Method.invoke(Method.java:597)        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)以上原因为:组播路由丢失.  route add -net 228.0.0.4 netmask 255.255.255.255 dev eth0 <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="5000"                      selectorTimeout="100"                      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"/>            <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/></Channel>tomcat集群和负载均衡的实现(session同步)补充 因为tomcat的session同步功能需要用到组播,windows默认情况下是开通组播服务的,但是linux默认情况下并没有开通,可以通过指令打开route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0,如果需要服务器启动时即开通组播需在/etc/sysconfig/static-routes文件内加入eht0 net 224.0.0.0 netmask 240.0.0.0。具体组播概念请查阅CCNP相关内容。 

热点排行