基于 Apache 在本地配置多个虚拟主机
如何使用 Apache 在本地配置出多个虚拟主机呢?而且使用不同的“域名”来访问本地不同的站点呢?
一般情况下,咱们都使用 localhost 来访问本机上的服务器,在我们的 C:/WINDOWS/system32/drivers/etc/hosts 文件中默认有一个:
127.0.0.1 localhost |
当我们在浏览器地址栏键入:
的时候,会显示出服务器根目录中的许多文件夹(若你的根目录不是只有一个站点的话),就像:
Index of / * BAK/ * B_Discuz/ * B_Supesite/ * B_UCenter/ * B_Uchome/ * B_Uchome_Bak/ * B_XSpace/ * DiscuZ_X1/ * Javascript/ * NewUch/ * PHP/ * UchUtf8/ * Zend Framework_1.10.8/ * Zendphpweb20/ * mycms/ * phpMyAdmin/ * userAdminManager/ |
现在我想通过一个自定义的“域名”来访问我的根目录中的站点,譬如:
1,根目录中有一个 phpMyAdmin/ 的文件夹(倒数第二个),它是一个网页版的数据库管理系统(肯定不会陌生的吧!),我想通过访问一个简单的:
来进入这个系统(而不用输入 localhost,再点击 phpMyAdmin/ 才进入);
2,根目录中有一个 Zendphpweb20/ 的文件夹(倒数第三个),它只是一个本地应用站点,我想通过访问:
来进入这个本地站点;
现在要干些什么呢?跟我来吧!看下面:
1> 修改系统的 hosts 文件:
打开之前说过的系统的 hosts 文件,来给我们的电脑添加两个“假的”DNS 项,加入代码:
127.0.0.2 dbmanager 127.0.0.3 phpweb20 |
这样,我们的浏览器就会将 dbmanager 主机名解析为 127.0.0.2,将 phpweb20 主机名解析为 127.0.0.3。
2> 修改 Apache 配置文件:
在我的本机内 Apache 的主配置文件在:
D:/usr/local/apache2/conf/httpd.conf |
说是修改 Apache 的配置文件,其实只是添加了一些内容,因为不想修改 Apache 的主配置文件,所以我们最好在各个站点写好自己的虚拟主机配置子文件,然后使用 Include 指令将其包含到 Apache 的主配置文件里。
其实在 Apache 的主配置文件的最下方有虚拟主机的配置示例,只不过都被注释掉了:
# 基于名称的虚拟主机示例: #<VirtualHost 127.0.0.2:80>
# ServerAdmin admin@system
# DocumentRoot D:\usr\webroot\webhosting1
# ServerName 127.0.0.2
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost> #<VirtualHost 127.0.0.3:80>
# ServerAdmin admin@system
# DocumentRoot D:\usr\webroot\webhosting2
# ServerName 127.0.0.3
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost> #<VirtualHost 127.0.0.4:80>
# ServerAdmin admin@system
# DocumentRoot D:\usr\webroot\webhosting3
# ServerName 127.0.0.4
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>
在配置文件的最下方添加代码:
# 包含 dbmanager 虚拟主机配置文件
Include D:/usr/webroot/phpMyAdmin/httpd.conf # 包含 phpweb20 虚拟主机配置文件
Include D:/usr/webroot/Zendphpweb20/httpd.conf
(我的 localhost 的根目录为 D:/usr/webroot/)
3> 创建各个虚拟主机的子配置文件:
创建 dbmanager 的配置文件:D:/usr/webroot/phpMyAdmin/httpd.conf
#dbmanager 虚拟主机设置
<VirtualHost 127.0.0.2:80>
ServerName dbmanager
DocumentRoot D:/usr/webroot/phpMyAdmin <Directory D:/usr/webroot/phpMyAdmin>
AllowOverride All
Options All
</Directory>
</VirtualHost>
创建 phpweb20 的配置文件:D:/usr/webroot/Zendphpweb20/httpd.conf
#phpweb20 虚拟主机设置
<VirtualHost 127.0.0.3:80>
ServerName phpweb20
DocumentRoot D:/usr/webroot/Zendphpweb20/htdocs <Directory D:/usr/webroot/Zendphpweb20/htdocs>
AllowOverride All
Options All
</Directory> #修改 PHP 配置(可选)
php_value include_path .;D:/usr/webroot/Zendphpweb20/include;D:/usr/local/php5/PEAR
php_value magic_quotes_gpc off
php_value register_globals off
</VirtualHost>
各个虚拟主机的配置就看应用站点的不同需要了,DocumentRoot 为其根目录(php_value 是修改此站点的 PHP 运行参数,根据自己应用的需要来写,这样就不必修改 PHP 主配置文件)。
4> 重启 Apache 服务:
这个就不多说了。
完毕!好了,在浏览器地址栏输入分别输入:
http://dbmanager
http://phpweb20
我们的目的达到了!!: - >
基于 Apache 在本地配置多个虚拟主机的更多相关文章
- 【转】基于 Apache 在本地配置多个虚拟主机
如何使用 Apache 在本地配置出多个虚拟主机呢?而且使用不同的“域名”来访问本地不同的站点呢? 一般情况下,咱们都使用 localhost 来访问本机上的服务器,在我们的 C:/WINDOWS/s ...
- 基于Apache在本地配置多个虚拟主机站点
简单的说,打开httpd.conf 在最后加入如下内容: <VirtualHost 127.0.0.2:80> DocumentRoot d:/AppServ/www2 Ser ...
- Apache 2.4 配置多个虚拟主机的问题
以前一直用Apache2.2的版本,最近升级到了2.4的版本,尝尝新版本嘛. 不过遇到了几个问题,一个就是配置了多个virtualhost,虽然没有报错,不过除了第一可以正常访问外,其他的都存在403 ...
- centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课
centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 ...
- Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机
Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.虚拟主机实现方案 1>.Apache httpd 有三种实现虚 ...
- 轻松配置httpd的虚拟主机
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- nginx配置多个虚拟主机vhost
在nginx下配置虚拟主机vhost非常方便.主要在nginx的配置文件nginx.conf中添加一个server即可 比如我想配置两个虚拟主机,通过域名linux.com和linux2.com访问, ...
- Nginx入门讲解——初步认识了解nginx.conf配置文件以及配置多个虚拟主机
本文引自网络进攻学习之用https://blog.csdn.net/weixin_38111957/article/details/81080539 一. 引言上节文章讲述了如何用信号控制Nginx服 ...
- nginx配置多个虚拟主机(mac)
1 . 安装 通过homebrew安装nginx,默认安装在:/usr/local/Cellar/nginx/版本号.配置文件在路径:/usr/local/etc/nginx ,默认配置文件ngin ...
随机推荐
- Alpha冲刺第5天
Alpha第六天 1.团队成员 郑西坤 031602542 (队长) 陈俊杰 031602504 陈顺兴 031602505 张胜男 031602540 廖钰萍 031602323 雷光游 03160 ...
- final发布评论Ⅱ
奋斗吧兄弟:奋斗吧兄弟团队提供了草原.水域.田地三种环境可以进行选择.功能如下:添加自定义生物功能可以增加生物种类,但是无法设置捕食关系,这里希望想办法完善.生物除了图片方式以外,还可以以文字的方式展 ...
- 解决sublime text3下中文无法输入的问题(Ubuntu)
sublime-text-imfix,非常无脑.就喜欢这样的.
- 【设计模式】—— 创建者模式Builder
前言:[模式总览]——————————by xingoo 模式意图 一个对象的创建十分复杂,为了区分构建过程和使用过程,因此分开.使用一个Director类进行对象的创建,Builder规定了这个创建 ...
- 【BZOJ1304】[CQOI2009]叶子的染色(动态规划)
[BZOJ1304][CQOI2009]叶子的染色(动态规划) 题面 BZOJ 洛谷 题解 很简单. 设\(f[i][0/1/2]\)表示以\(i\)为根的子树中,还有颜色为\(0/1/2\)(\(2 ...
- 解决 winform 界面对不齐
最近做了一个winform的程序,本机上界面对得很齐,到一到客户的机器上就惨不忍睹,一番研究后搞定: 1. AutoScaleMode = None 2. BackgroundImageLayout ...
- 【转】Example of using the --info linker option
5.3 Example of using the --info linker option This is an example of the output generated by the --in ...
- CF438D The Child and Sequence(线段树)
题目链接:CF原网 洛谷 题目大意:维护一个长度为 $n$ 的正整数序列 $a$,支持单点修改,区间取模,区间求和.共 $m$ 个操作. $1\le n,m\le 10^5$.其它数均为非负整数且 ...
- 造成ORA-01843 无效的月份 的一些原因
1) 当我们在一个中文环境的客户端使用如下sql语句INSERT INTO "temptable" ( DELIVER_DATE ) VALUES (TO_DATE('27-Jun ...
- bzoj 4464 : [Jsoi2013]旅行时的困惑
网络流建图. 从S向每个点连边,从每个点向T连边. 每条树边反向连一条下界为1,上界inf的边. 跑最小流. 注意加当前弧优化. #include<cstdio> #include< ...