设为首页 收藏本站
查看: 651|回复: 0

[经验分享] PHP实践之路(二)apache虚拟主机配置

[复制链接]

尚未签到

发表于 2015-11-13 14:26:48 | 显示全部楼层 |阅读模式



PHP实践之路(目录索引)




一、环境

       1)操作系统:windows xp
       2)apache2.2
二、背景
  当我们在开发项目或者在学习时,总会建立多个项目。这样在apache中默认的工作目录只有在htdocs目录下。所以我们必须建立虚拟主机,让我们的单台计算机可以当多个服务器来使用。这里我们就需要配置虚拟主机

三、解决方案

       1)如果只为了达到多个工作目录的要求,可以在httpd.conf中配置<IfModule alias_module>模块,具体方式可以在网上找,但这个方式有缺陷,当工作目录不在磁盘根目录下时,解析路径将会遇到问题
       2)apache本身提供了虚拟主机配置的扩展,在\conf\extra在可以看到有一个文件httpd-vhosts.conf,这个文件就是配置虚拟主机用的。而虚拟主机配置基本上有两种方式,一种是基于IP地址的,这种方式需要主机有多个独立的IP;另一种的基于名字配置,这种方式更加的灵活,一个IP地址就可以通过名字来配置多个虚拟主机。下面我们主要讲一下基于名字配置的多个虚拟主机的配置
四、实施步骤

1)释放虚拟主机配置的扩展,在httpd.conf文件中找到如下两行
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf我们仅需要去掉Include前面的“#”即可达到目的,变成如下
# Virtual hosts
Include conf/extra/httpd-vhosts.conf

2)配置httpd-vhost.conf。配置如下
#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#

<VirtualHost *:80>
ServerName www.cyxlgzs.com
DirectoryIndex index.php
DocumentRoot &quot;F:/MyWorkSpace/project/php/cyxlgzs&quot;
<Directory &quot;F:/MyWorkSpace/project/php/cyxlgzs&quot;>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.first_php.com
DirectoryIndex index.php
DocumentRoot &quot;F:/MyWorkSpace/project/php/first_php&quot;
<Directory &quot;F:/MyWorkSpace/project/php/first_php&quot;>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>


首先看到这一行
NameVirtualHost *:80

这里指定了访问的域名为*,也就是任意,然后端口是80.这里的端口和httpd.conf中的端口配置一致,也就是httpd.conf中的如下一行
Listen 80

然后接下来我们配置了两个VirtualHost,拿第一作为例子讲一下
ServerName相当于是一个域名,也就是我们在浏览器中访问的地址,这里我们配置的是www.cyxlgzs.com
DirectoryIndex是主页的配置,当访问时不指定具体页面时访问的默认网页,这里我们是index.php
DocumentRoot项目的磁盘路径
Directory配置的是一些访问的权限


3)配置域名和IP地址的对应关系。
因为我们的环境是在windows下,在本机测试时,如果不配置该项将导致冲突。我们找到C:/WINDOWS/system32/drivers/etc目录下的hosts文件(linux一般在/etc/hosts),用记事本打开,添加如下两项
127.0.0.1                     www.cyxlgzs.com
127.0.0.1                     www.first_php.com

IP地址后面的域名和httpd-vhosts.conf文件中添加的虚拟主机相对应


4)配置完成,重庆apache服务。在浏览器中输入www.cyxlgzs.com和www.first_php.com进行测试
版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-138858-1-1.html 上篇帖子: apache 2.4 配置多端口虚拟目录 下篇帖子: XP下apache的基于域名的虚拟主机配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表