文档章节

http://www.y-liang.cn/post-50.html

zhonghz
 zhonghz
发布于 2016/04/12 09:37
字数 1415
阅读 47
收藏 0

一、工具/原料

1.centos7操作系统

2.apache2.4.16

3.MySQL5.6

4.PHP5.6


二、方法/步骤

1.我们是要将/web/www/和/web/bbs目录作为我们的虚拟主机目录,就是说我们以后开发的项目都分别放在这两个目录下,所以我们要新建这两个目录。

2016-01-19_232342.png

2016-01-19_232700.png

2016-01-19_233722.png

2.首先编辑apache的配置文件httpd.conf(我之前把apache配置文件安装在/usr/local/apache2/etc):vim /usr/local/apache2/etc/httpd.conf

2016-01-19_221423.png


3.找到#Include etc//extra/httpd-vhosts.conf这一行(大概在464行),将前面的注释符“#”去掉,保存并且退出。

解释一下这句的意思:这句的意思是把Apache主目录(即apache安装目录)/usr/local/apache2/etc/extra/httpd-vhosts.conf这个文件引入进来,httpd-vhosts.conf这个文件正是虚拟主机的配置文件。

2016-01-19_222053.png

2016-01-19_222509.png


4.编辑虚拟主机配置文件httpd-vhosts.conf

2016-01-19_223258.png


5.看到配置文件,它里面也有已经有两个例子了,我们按照它的案例照葫芦画瓢来配置就行了。

解释一下每个选项的意思:

<VirtualHost *:80>:主机名称,为ip地址,如:192.168.0.21:80

ServerAdmin webmaster@dummy-host.example.com:邮箱地址

DocumentRoot "/usr/local/apache2//docs/dummy-host.example.com":网站跟目录,就相当于在windows下的我们安装wampserver时的www目录

ServerName dummy-host.example.com:这里是我们的域名,比如:www.y-liang.cn

ServerAlias www.dummy-host.example.com:这里是网站虚拟目录/服务器别名(关于虚拟目录,我们在后续会更新这个知识点,还请关注)

ErrorLog "logs/dummy-host.example.com-error_log":错误日志文件存放位置

CustomLog "logs/dummy-host.example.com-access_log" common:日志文件位置

2016-01-19_224228.png


6.虚拟将配置文件修改成我们所要的参数,修改将原来的那两个例子修改成如下:

<VirtualHost 192.168.0.21:80>
    DocumentRoot "/web/www"
    ServerName www.y-liang.com
</VirtualHost>


<VirtualHost 192.168.0.21:80>
    DocumentRoot "/web/bbs"
    ServerName bbs.y-liang.cn
</VirtualHost>

其他的参数我们可以不要,保存并退出。

2016-01-19_232841.png


6.重启apache服务器,使配置生效:/usr/local/apache2/bin/apachectl restart

2016-01-19_232455.png


7.现在我们来测试一下。分别在/web/www和/web/bbs目录下写两个测试文件index.php

在/web/www/index.php文件里写:<?php echo "这里是/web/www目录"; ?>

2016-01-19_233547.png

在/web/www/index.php文件里写:<?php echo "这里是/web/bbs目录"; ?>


2016-01-19_233512.png


8.好了,虚拟主机基本上配好了,但是我们如何通过域名访问我们的两个网站呢。很简单,在我们的windows系统下有一个hosts文件,里面就是专门配置ip地址和域名的对应(映射)关系的;编辑windows系统下的hosts(这个文件在C:\Windows\System32\drivers\etc目录下)文件,给我们要映射的ip添加两条记录。

192.168.0.21    www.y-liang.cn
192.168.0.21    bbs.y-liang.cn

2016-01-19_234207.png

这两条记录代表的意思是:当我们在浏览器输入www.y-liang.cn的时候,解析到的ip(即访问的ip)是192.168.0.21,但是我们刚刚配置虚拟主机的时候对应的虚拟主机目录是:/web/www目录,所以访问的是/web/www目录下的项目;当我们在浏览器输入bbs.y-liang.cn的时候,解析到的ip(即访问的ip)是192.168.0.21,但是我们刚刚配置虚拟主机的时候对应的虚拟主机目录是:/web/bbs目录,所以访问的是/web/bbs目录下的项目。

也许你还会问:当我们输入www.y-liang.cn的时候,访问的不是我的博客地址吗?这里解释一下:当我们在浏览器输入一个域名的时候,会首先在本地电脑的hosts文件里找有没有对应的ip,如果没有再去外网去找,比如我们现在这里,当我们输入www.y-liang.cn的时候,会首先去本地hosts文件里找,找到了对应的ip是192.168.0.21,所以会去访问192.168.0.21服务器下的项目,如果没找到,就访问外网ip的地址。


9.在浏览器里分别输入域名,访问我们的服务器,出现了以下报错信息。哈哈,这是因为我们刚刚只是配置好虚拟主机目录而已,还没给访问权限呢。

2016-01-19_235416.png


10.再次编辑/usr/local/apache2/etc/extra/httpd-vhosts.conf文件:vim /usr/local/apache2/etc/extra/httpd-vhosts.conf,

在ServerName www.y-liang.cn和ServerName bbs.y-liang.cn后面加入下面代码:

ServerName www.y-liang.cn后面:

<Directory "/web/www">
    Options None
    AllowOverride None
    Require all granted    #允许所有人访问
</Directory>

ServerName bbs.y-liang.cn后面:

<Directory "/web/bbs">
    Options None
    AllowOverride None
    Require all granted

</Directory>

保存并且退出。重启服务器。

2016-01-20_001537.png


11.这回再重新分别访问,这回就可以成功了。

2016-01-20_001740.png

2016-01-20_002141.png

12.好了,我们现在来总结一下刚刚lamp环境下要创建虚拟主机的步骤,有以下四步:

(1)确定好虚拟主机的目录,没有目录的话要新建。

(2)编辑apache配置文件httpd.conf,找到#Include etc//extra/httpd-vhosts.conf这一行(大概在464行),将前面的注释符“#”去掉

(3)编辑/usr/local/apache2/etc/extra/httpd-vhosts.conf文件,①配置虚拟主机目录②添加权限

(4)编辑windows系统C:\Windows\System32\drivers\etc\hosts文件,添加域名映射


到此为止,我们的lamp环境下创建虚拟主机已经完成了。


© 著作权归作者所有

共有 人打赏支持
zhonghz
粉丝 0
博文 2
码字总数 2554
作品 0
广州
私信 提问
Highcharts+PHP+Mysql生成饼状统计图

演示下载地址:http://www.erdangjiade.com/js/50.html 效果图:

2当家的
2017/03/19
110
0
ThinkPHP集成腾讯云存储(COS)--详解

腾讯云主页:http://www.qcloud.com/ 准备工作: 一、 根据图示进入COS 点击立即使用 进入后根据下面点击新建:Bucket(Bucket就是你往云存储的一个目录) 新建Bucket 二、 下载SDK 点击下载...

Edik
2016/01/24
1K
3
Tinkphp彩色标签Tags的实现方法

我们浏览网页时经常看到眩目的彩色标签,而且每刷新一下浏览器,都会更新为不同的颜,是不是很“惊艳”?现在来看一下它在Thinkphp上的现实方法。 项目函数库的位置:项目Commoncommon.php ...

网菠萝果
2012/11/29
0
0
马士兵JAVA基础实录教程

本教程自从发布以来,已经被下载了2000多万次,创造了国内视频教程的记录。该教程是尚学堂老师上课时真实录制而成, 充分展现了讲师的风采,高超的技术、幽默的授课风格、深入浅出的分析。 ...

2846613430
2016/04/20
74
0
接受数据的三种方式

php://input 和$POST和$GLOBALS['HTTPRAWPOSTDATA'] HTTPRAWPOST_DATA在新版版本中废弃了用这个代替php://input stream instead httprawpost_data 是PHP内置的一个全局变量。它用于, PHP在无...

金于虎
2016/11/02
16
0

没有更多内容

加载失败,请刷新页面

加载更多

Qt那些事0.0.15

以下与Q_DECLARE_METATYPE相关内容全部是翻译自Qt文档。参看QVariant Class | Qt Core 5.9以及QMetaType Class | Qt Core 5.9 QVariant QVariant::fromValue(const T& value) 返回一份包含v......

Ev4n
9分钟前
1
0
spring上传文件返回绝对路径,简单工具类

import com.google.common.io.Files;import lombok.extern.slf4j.Slf4j;import org.springframework.web.multipart.MultipartFile;import java.io.File;import java.io.IOExceptio......

Boss-x
21分钟前
2
0
1个开发如何撑起一个过亿用户的小程序

本文由云+社区发表 2018年12月,腾讯相册累计用户量突破1亿,月活1200万,阿拉丁指数排行 Top 30,已经成为小程序生态的重量级玩家。 三个多月来,腾讯相册围绕【在微信分享相册照片】这一核...

腾讯云加社区
27分钟前
7
0
golang ssh包使用方法介绍

在使用gexpect包发现很多问题之外,这里又尝试使用ssh user@127.0.0.1的思路进行用户切换。这里记录下具体的使用方法,遇到的ssh: must specify HostKeyCallback 问题的解法方法及最终使用过...

linuxprobe16
32分钟前
2
0
layer

Layui Layer在open弹出层中异步加载数据和form表单radio、checkbox、select不渲染,不可点击的解决办法 layer 实现弹窗提交信息 function confirmUpdateAward(i) { layer.open({ ...

mickelfeng
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部