日期:2014-05-16 浏览次数:20865 次
自定义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 start SEVERE: 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.in