Apache 2.4.x 的虚拟目录配置

安装wamp组件后,配置Apache虚拟目录时先是按照老版配置,发现一直报权限错误,网上查了半天全是一样的答案,很多不是很正确,只能自己看配置文件。

故障信息:

Error message “Forbidden You don't have permission to access /aaa on this server”

通常配置如下:(试用2.4版本以下的)

Alias /aaa  "F:/MySite/aaa"

<Directory "F:/MySite/aaa">

    Options Indexes FollowSymLinks

    AllowOverride None

    Order allow,deny

    Allow from all

</Directory>


经过研究:

发现老版的allow from all=新版require all granted,老版deny from all=新版 require all denied

故最新版配置虚拟目录如下


#站点别名
Alias /mysite "E:/Projects/php/mysite"

<Directory "E:/Projects/php/mysite"> 
Options Indexes MultiViews 
AllowOverride None
Require all granted
</Directory>

验证成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Red Hat Linux 9 Red Hat Linux 定制指南 版权 © 2003 Red Hat, Inc.中国站长资讯网 :www.11k.net ISBN: N/A -------------------------------------------------------------------------------- 目录 介绍 1. 本书的更变 2. 文档约定 3. 未来的扩充 3.1. 递交你的反馈 4. 注册支持 I. 文件系统 1. ext3 文件系统 1.1. ext3 的特性 1.2. 创建一个 ext3 文件系统 1.3. 转换到 ext3 文件系统 1.4. 还原到 ext2 文件系统 2. 交换空间 2.1. 交换空间是什么 2.2. 添加交换空间 2.3. 删除交换空间 2.4. 移动交换空间 3. 独立磁盘冗余阵列(RAID) 3.1. RAID 是什么? 3.2. 谁应该使用 RAID 3.3. 硬件 RAID 和软件 RAID 3.4. RAID 级别和线形支持 4. 逻辑卷管理器(LVM) 5. 管理磁盘贮存区 5.1. 查看分区表 5.2. 创建分区 5.3. 删除分区 5.4. 重新划分分区大小 6. 实现磁盘配额 6.1. 配置磁盘配额 6.2. 管理磁盘配额 6.3. 其它资料 II. 与安装相关的信息 7. kickstart 安装 7.1. kickstart 安装是什么? 7.2. 如何执行 kickstart 安装 7.3. 创建 kickstart 文件 7.4. kickstart 选项 7.5. 软件包选择 7.6. 预安装脚本 7.7. 安装后脚本 7.8. 如何使 kickstart 文件可被利用 7.9. 提供安装树 7.10. 开始 kickstart 安装 8. Kickstart 配置器 8.1. 基本配置 8.2. 安装方法 8.3. 引导装载程序选项 8.4. 分区信息 8.5. 网络配置 8.6. 验证 8.7. 防火墙配置 8.8. X 配置 8.9. 软件包选择 8.10. 预安装脚本 8.11. 安装后脚本 8.12. 保存文件 9. 基本系统恢复 9.1. 常见问题 9.2. 引导入救援模式 9.3. 引导入单用户模式 9.4. 引导入紧急模式 10. 软件 RAID 配置 11. LVM 配置 III. 与网络相关的配置 12. 网络配置 12.1. 总览 12.2. 建立以太网连接 12.3. 建立 ISDN 连接 12.4. 建立调制解调器连接 12.5. 建立 xDSL 连接 12.6. 建立权标环连接 12.7. 建立 CIPE 连接 12.8. 建立无线连接 12.9. 管理 DNS 设置 12.10. 管理主机 12.11. 激活设备 12.12. 使用配置文件 12.13. 设备别名 13. 基本防火墙配置 13.1. 安全级别配置工具 13.2. GNOME Lokkit 13.3. 激活 iptables 服务 14. 控制对服务的访问 14.1. 运行级别 14.2. TCP 会绕程序 14.3. 服务配置工具 14.4. ntsysv 14.5. chkconfig 14.6. 其它资料 15. OpenSSH 15.1. 为什么使用 SSH? 15.2. 配置 OpenSSH 服务器 15.3. 配置 OpenSSH 客户 15.4. 其它资料 16. 网络文件系统(NFS) 16.1. 为什么使用 NFS? 16.2. 挂载 NFS 文件系统 16.3. 导出 NFS 文件系统 16.4. 其它资料 17. Samba 17.1. 为什么使用 Samba? 17.2. 配置 Samba 服务器 17.3. 连接 Samba 共享 17.4. 其它资料 18. 动态主机配置协议(DHCP) 18.1. 为什么使用 DHCP 18.2. 配置 DHCP 服务器 18.3. 配置 DHCP 客户 18.4. 其它资料 19. Apache HTTP 服务器 配置 19.1. 基本设置 19.2. 默认设置 19.3. 虚拟主机设置 19.4. 服务器设置 19.5. 调整性能 19.6. 保存设置 19.7. 其它资料 20. Apache HTTP 安全服务器配置 20.1. 介绍 20.2. 与安全相关的软件包概述 20.3. 证书和安全概述 20.4. 使用已存钥匙和证书 20.5. 证书类型 20.6. 生成钥匙 20.7. 生成发送给 CA 的证书请求 20.8. 创建自签的证书 20.9. 测试证书 20.10. 访问服务器 20.11. 其它资料 21. BIND 配置 21.1. 添加正向主区 21.2. 添加逆向主区 21.3. 添加从区块 22. 验证配置 22.1. 用户信息 22.2. 验证 22.3. 命令行版本 23. 邮件传输代理(MTA)配置 IV. 系统配置 24. 控制台访问 24.1. 禁用通过 Ctrl-Alt-Del 关机 24.2. 禁用控制台程序访问 24.3. 禁用所有控制台访问 24.4. 定义控制台 24.5. 使文件可从控制台访问 24.6. 为其它应用程序启用控制台访问 24.7. floppy 组群 25. 用户和组群配置 25.1. 添加新用户 25.2. 修改用户属性 25.3. 添加新组群 25.4. 修改组群属性 25.5. 命令行配置 25.6. 对进程的解释 26. 收集系统信息 26.1. 系统进程 26.2. 内存用量 26.3. 文件系统 26.4. 硬件 26.5. 其它资料 27. 打印机配置 27.1. 添加本地打印机 27.2. 添加一个 IPP 打印机 27.3. 添加远程 UNIX (LPD) 打印机 27.4. 添加 Samba (SMB) 打印机 27.5. 添加 Novell NetWare (NCP) 打印机 27.6. 添加 JetDirect 打印机 27.7. 选择打印机型号和结束 27.8. 打印测试页 27.9. 修改现存打印机 27.10. 保存配置文件 27.11. 命令行配置 27.12. 管理打印作业 27.13. 共享打印机 27.14. 切换打印系统 27.15. 其它资料 28. 自动化的任务 28.1. cron 28.2. anacron 28.3. at 和 batch 28.4. 其它资料 29. 日志文件 29.1. 定位日志文件 29.2. 查看日志文件 29.3. 检查日志文件 30. 升级内核 30.1. 2.4 版本的内核 30.2. 准备升级 30.3. 下载升级了的内核 30.4. 执行升级 30.5. 校验初始 RAM 磁盘映像 30.6. 校验引导装载程序 31. 内核模块 31.1. 内核模块工具 31.2. 其它资料 V. 软件包管理 32. 使用 RPM 来管理软件包 32.1. RPM 的设计目标 32.2. 使用 RPM 32.3. 检查软件包的签名 32.4. 用 RPM 在朋友面前大显身手 32.5. 其它资料 33. 软件包管理工具 33.1. 安装软件包 33.2. 删除软件包 34. Red Hat 网络 VI. 附录 A. 建构定制内核 A.1. 建构筹备 A.2. 建构内核 A.3. 建构单一化内核 A.4. 其它资料 B. Gnu Privacy Guard 入门 B.1. 配置文件 B.2. 警告消息 B.3. 生成钥匙对 B.4. 生成一份废弃证书 B.5. 导出公钥 B.6. 导入公钥 B.7. 数码签名在哪里? B.8. 其它资料 索引 后记 -------------------------------------------------------------------------------- 前进 介绍
APACHE 2.2.9+TOMCAT6.0.18配置负载均衡 目标: 使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求: 1、 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。 2、 为系统设定 Session 超时时间,包括 Apache 和 tomcat 3、 为系统屏蔽文件列表,包括 Apache 和 tomcat 注:本例程以一台机器为例子,即同一台机器上装一个apache和4个Tomcat。 一、 前期准备工作:安装用的程序(前提保证已安装了JDK1.5以上的版本) jdk1.6.0_18下载: http://java.sun.com/javase/downloads/index.jsp APAHCE 2.2.14下载:apache_2.2.14-win32-x86-no_ssl.msi http://httpd.apache.org/download.cgi下载 TOMCAT6.0.20下载:apache-tomcat-6.0.20.zip直接解压。http://tomcat.apache.org/download-60.cgi Jdk安装目录下D:\toots\Java\jdk1.6.0_18\bin\msvcr71.dll复制到C:\WINDOWS\system32下 二、 安装过程 设置环境变量: JAVA_HOME= D:\toots\Java\jdk1.6.0_18 classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径) path=%JAVA_HOME%\bin APAHCE安装目录:D:\toots\Apache下 四个TOMCAT目录:自行解压到(D:\toots\)下。分别为 tomcatA,tomcatB,tomcatC,tomcatD 三、配置 1、Apache配置 1.1、httpd.conf配置 修改APACHE配置文件D:\toots\Apache \conf\httpd.conf 将以下Module的注释去掉,这里并没有使用mod_jk.so进行apache和tomcat的链接,从2.X以后apache自身已集成了mod_jk.so的功能。只需简单的把下面几行去掉注释,就相当于以前用mod_jk.so比较繁琐的配置了。这里主要采用了代理的方法,就这么简单。 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 再找到<IfModule dir_module></IfModule>加上index.jsp修改成 <IfModule dir_module> DirectoryIndex index.html index.jsp </IfModule> 1.1.1、 在最下面加入 ProxyRequests Off <proxy balancer://cluster> BalancerMember ajp://127.0.0.1:9001 loadfactor=1 route=jvm1 BalancerMember ajp://127.0.0.1:9002 loadfactor=1 route=jvm2 BalancerMember ajp://127.0.0.1:9003 loadfactor=1 route=jvm3 BalancerMember ajp://127.0.0.1:9004 loadfactor=1 route=jvm4 <proxy > 上面的四个BalancerMember成员是我们配置的tomcat集群。后面会说明的 1.2、httpd-vhosts.conf设置 接下来进行虚拟主机的设置。APACHE的虚拟主机设置如下: 首先要修改 conf/httpd.conf找到 (#Include conf/extra/httpd-vhosts.conf)把注释去掉。 # Virtual hosts Include conf/extra/httpd-vhosts.conf 在文件(D:/toots/Apache/conf/extra/httpd-vhosts.conf)最下面加入 <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "D:/toots/Apache/docs/dummy-host3.localhost"//你的安装目录 ServerName localhost//服务名(域名) ServerAlias localhost//服务别名 ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On ProxyPassReverse / balancer://cluster/ </VirtualHost> 其中的域名和路径根据你自己情况设置 然后再设置TOMCAT虚拟主机 2 配置 tomcat 2.1. 配置 server 的关闭 我们需要在一台机器上跑 4 个不同的 tomcat ,需要修改不同的 tomcat 的关闭口,避免出现端口被占用的情况。在 TomcatA\conf, TomcatB\conf, TomcatC\conf下和 TomcatD\conf下的 server.xml 中找到 server, 将: <Server port="8005" shutdown="SHUTDOWN"> 改为 <Server port="XXXX" shutdown="SHUTDOWN"> XXXX 在这里表示不同的端口:我的其它四个 tomcat 分别使用 9006,9007,9008 , 9009 2.2. 配置 Engine 把原来的配置注释掉,把下面一句去掉注释。并标明jvmRoute="jvm2". <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2"> 以下是原来的配置。 <!-- <Engine name="Catalina" defaultHost="localhost"> --> 其他(tomcat6.02和tomcat6.03)也要同样 配置。注意:jvmRoute配置不要一样。 <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm3"> <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm4"> 2.3. 配置 Connector 原来的默认配置。 <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 这里是apache和tomcat链接的关键,前台apache就是通过AJP协议与tomcat进行通信的,以完成负载均衡的作用。也可以用HTTP协议。大家注意它们是如何连接通信的,上面的红色部分(port="8009")就是连接的接口了。 把四个tomcat的<Connector port="XXX" />port分别改成与上面 <proxy balancer://cluster> #与tomcatA对应,route与<Engine jvmRoute="jvm1">对应。 BalancerMember ajp://127.0.0.1:9001 loadfactor=1 route=jvm1 #与tomcatB对应,route与<Engine jvmRoute="jvm2">对应。 BalancerMember ajp:// 127.0.0.1:9002 loadfactor=1 route=jvm2 #与tomcatC对应,route与<Engine jvmRoute="jvm3">对应。 BalancerMember ajp:// 127.0.0.1:9003 loadfactor=1 route=jvm3 #与tomcatD对应,route与<Engine jvmRoute="jvm4">对应。 BalancerMember ajp:// 127.0.0.1:9004 loadfactor=1 route=jvm4 </proxy> 中的端口对应, tomcatA改为 <Connector port="9001" protocol="AJP/1.3" redirectPort="8441" /> .tomcatB改为 <Connector port="9002" protocol="AJP/1.3" redirectPort="8442" /> tomcatC改为 <Connector port="9003" protocol="AJP/1.3" redirectPort="8443" /> tomcatD改为 <Connector port="9004" protocol="AJP/1.3" redirectPort="8444" /> <Connector executor="tomcatThreadPool" port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9441" /> <Connector executor="tomcatThreadPool" port="8082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9442" /> <Connector executor="tomcatThreadPool" port="8083" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9443" /> <Connector executor="tomcatThreadPool" port="8084" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9444" /> 一定要与上面的一致。同时也要把redirectPort的值改成唯一的,确保四个tomcat的都不一样。 2.4.配置Cluster(每个tomcat中都要修改) 原来的配置。 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 修改为以下的代码:<Receiver port=”XX”/>port也要保证唯一性, tomcatA改为 <Receiver port="5001" .tomcatB改为 <Receiver port="5002" tomcatC改为<Receiver port="5003" tomcatD改为 <Receiver port="5004" 确保四个tomcat的都不一样。以下是tomcatA的内容红色部分,分别是5001,5002,5003,5004. <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6"> <Manager className="org.apache.catalina.ha.session.BackupManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true" mapSendOptions="6"/> <!-- <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="5001" 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> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/> <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.ClusterSessionListener"/> </Cluster> 这个设置是主要用以tomcat的集群。 把解压缩版的tomcat6注册成服务并设置自启动 当然,这样注册出来的服务启动类型是手动的,如果想设置为开机自动启动,则需要修改 注册服务自启动: bin目录下的service.bat文件 打开此文件,在倒数第三行左右的那句输出 echo The service '%SERVICE_NAME%' has been installed. 这句是输出服务安装成功,在这之前加一句 sc config %SERVICE_NAME% start= auto 就OK了,以后开机后tomcat服务就自动启动了 注册服务: 首先,在开始->运行中敲cmd,进入MS-DOS界面 cd 到tomcat的bin目录下 运行命令service install TomcatA 就可以把tomcat注册成系统服务了,服务的名称是TomcatA 删除服务运行 service uninstall TomcatA 就可以了 四、启动服务,测试tomcat自带的例子 1、测试apache和tomcat协作。 先在每个tomcat中的\webapps\ROOT下的index.jsp下面加上以下的测试代码部分:(X代表不同的tomcat的输出不同的信息),把index.html删除,以免影响测试效果。在最后面的加上.即</table></body>之间。 <% System.out.println("tomcat6.0X deal with request"); %> 然后再通过http://localhost来访问一下,就会出现大家熟悉的猫猫。 然后再通过分别访问 http:// 127.0.0.1:8081, http:// 127.0.0.1:8082, http:// 127.0.0.1:8083, http:// 127.0.0.1:8084 它们访问的内容和上面的http:// 127.0.0.1是一样的。 这样就说明apache和TOMCAT整合成功! 这样就说明apache和TOMCAT整合成功! 2、测试均衡器 通过http:// 127.0.0.1多次访问,要想看到真正的效果,必须用一些压力测试工具,可用微软Microsoft Web Application Stress Tool进行简单压力测试,不然你靠不停刷新是体现不出来的,你只会在一个tomcat的控制台有输出结果。只用用压力测试工具模拟大量用户同时访问,你会发现四个tomcat控制台均有打出控制信息,说明均衡器工作正常。 3、测试Session复制 访问url: http://localhost/examples/servlet/SessionExample 可以得到一个关于session的例子,我们用它来测试集群的错误恢复能力。 测试步骤如下: 关闭tomcat1和tomcat2; 启动tomcat1 在浏览器中输入属性名tomcat1和属性值tomcat1再提交,返回的页面显示session中有刚刚输入的tomcat1属性; 启动tomcat2; 过一会后(等待tomcat2和tomcat1通信并复制信息)关闭tomcat1; 在浏览器中输入属性名tomcat2和属性值tomcat2再提交,返回的页面显示session中有刚刚输入的tomcat2属性,还有先前输入的tomcat1属性; 启动tomcat1; 过一会后(等待tomcat2和tomcat1通信并复制信息)关闭tomcat2; 在浏览器中输入属性名tomcat11和属性值tomcat11再提交,返回的页面显示session中有刚刚输入的tomcat11属性,还有先前输入的tomcat1和tomcat2属性; 域名绑定与虚拟目录设置: server.xml 的修改方式如下: (一)多域名绑定 2.接下来就是重点了哈哈... 单个域名绑定: 原始: <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" /> </Engine> 当然这里我把注释代码统统删除掉了,省的碍眼 修改后: <Host name="chengqun.202.71one.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/" docBase="d:\wwwroot\chengqun"></Context> </Host> <Host name="chengqun1.202.71one.com" debug="0" appBase=" webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/" docBase="d:\wwwroot\chengqun1"></Context> </Host> 多域名绑定: <Host name="chengqun.202.71one.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Alias>chengqun.202.71one.com</Alias> <Alias>chengqun1.202.71one.com</Alias> <Alias>chengqun2.202.71one.com</Alias> <Context path="/" docBase="d:\ EDirectSalesroot "></Context> </Host> 虚拟目录d:\ EDirectSalesroot的目录下建立WEB-INF 目录,再将…Tomcat 6.0\webapps\ROOT\WEB-INF 目录中的web.xml 文件拷贝到虚拟目录下建立WEB-INF 子目录中.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值