什么是虚拟主机?
虚拟主机(英语:virtual hosting)或称共享主机(shared web hosting),又称虚拟服务器,是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。虚拟主机之间完全独立,并可由用户自行管理,虚拟并非指不存在,而是指空间是由实体的服务器延伸而来,其硬件系统可以是基于服务器群,或者单个服务器。其技术是互联网服务器采用的节省服务器硬件成本的技术,虚拟主机技术主要应用于HTTP,FTP,EMAIL等多项服务,将一台服务器的某项或者全部服务内容逻辑划分为多个服务单位,对外表现为多个服务器,从而充分利用服务器硬件资源。如果划分是系统级别的,则称为虚拟服务器。扩展资料:虚拟主机的关键技术在于,即使在同一台硬件、同一个操作系统上,运行着为多个用户打开的不同的服务器程式,也互不干扰。而各个用户拥有自己的一部分系统资源(IP地址、文档存储空间、内存、CPU等)。各个虚拟主机之间完全独立,在外界看来,每一台虚拟主机和一台单独的主机的表现完全相同。所以这种被虚拟化的逻辑主机被形象地称为“虚拟主机”。参考资料来源:百度百科-虚拟主机参考资料来源:百度百科-服务器
如何配置 Apache 的虚拟主机
打开httpd.conf文件
去掉LoadModule vhost_alias_module modules/mod_vhost_alias.so
这句前面的#号
和
Include conf/extra/httpd-vhosts.conf这句前面的#号
Include conf/extra/httpd-vhosts.conf这句在httpd.conf文件底部
然后打开Apache2.2\conf\extra下的httpd-vhosts.conf文件,加入如下代码
#配置自己的虚拟主机
#网站目录,如果在www目录下的php目录,下面 #就填写F:/www/php
DocumentRoot "D:/WALP/www"
#域名
ServerName www.plqjnet.com
#这里配置欢迎首页面
DirectoryIndex index.html index.htm index.php
Options FollowSymLinks
#不允许别人修改我们的页面
AllowOverride None
#设置访问权限
order allow,deny
Allow from all
把ServerName改成你自己的,最后重启Apache。
如何配置 Apache 的虚拟主机
Apache 的虚拟主机就是在一台服务器上运行多个网站,每个虚拟主机都可以绑定独立的域名,为这些域名可以指定单独的目录,访问这些域名的时候,Apache 会打开对应目录里面的东西。配置 Apache 的虚拟主机,只需要去修改 Apache 的配置文件。虚拟主机的英文是 virtual host,所以,Apache 配置虚拟主机的文件可能是 httpd.conf ,也可能是跟 virtual host 这个名字相关的文件,比如 vhost.conf ,具体要使用哪一个配置文件,需要自己去判断。
如何配置 Apache 的虚拟主机
方法/步骤
Apache配置虚拟主机方法在windows和linux有些差异,今天给大家演示如何在windows上配置Apache虚拟主机,此方法主要适用于独立的Apache环境。
1. 打开目录Apache的安装目录/conf/extra/, 找到 httpd-vhosts.conf 文件;
2. 添加一段代码来指定某一域名的网站,如图我配置虚拟域名是:
project.com,文件目录指向的是CI框架;
ServerAdmin webmaster@dummy-host.project.com
DocumentRoot "D:/AMP/Apache/htdocs/ci"
ServerName project.com
ErrorLog "logs/project.com-error.log"
CustomLog "logs/project.com-access.log" common
3. 打开 httpd.conf 文件, 添加如下代码:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
如果已存在,将Include前面的#去掉;
4. 重启 Apache 服务,打开虚拟域名之后,结果如图所示:
apache虚拟主机配置
你应该把配置写齐全,还有域名你是自己的主机,所以在HOST文件里需要加注,并且写全,www.123.com,你的配置应该是
NameVirtualHost *:80
ServerName www.123.com
DocumentRoot "C:/web"
Options FollowSymLinks IncludesNOEXEC Indexes
DirectoryIndex index.html index.htm default.htm index.php default.php index.cgi default.cgi index.pl default.pl index.shtml
AllowOverride Options FileInfo
Order Deny,Allow
Allow from all
写在conf文件里;这样应该行了,如果还不行,留言吧
APACHE 虚拟主机配置
打开C:\WINDOWS\system32\drivers\etc\hosts加入下面2行:
127.0.0.1 www.yes.com
127.0.0.1 www.miss.com
然后访问www.yes.com即可访问到你指定的DocumentRoot了
如果出现forbidden权限问题再改成如下:
ServerName www.yes.com
DocumentRoot "你的目录"
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
如何配置 Apache 的虚拟主机
不
管你用的是什么系统,windows, mac,电脑上都会有一个 hosts 文件,修改这个文件,可以改变主机名所对应的 ip 地址。比如你安装了
Web 开发环境(MAMP 或 WAMP),启动环境以后,访问 http://localhost 你就会打开环境的默认的目录,这个
localhost 就是在 hosts 文件里定义的,它所指向的 ip 地址是 127.0.0.1 ,这个 ip
地址表示本地的你正在使用的这台电脑,了解详细的内容,可以搜索一下 :)
修改这个 hosts
文件,我们可以手工的去指定任何主机名指向任何的 ip 地址,当然这个设置只影响你自己的电脑,比如我们可以随便造一个域名,比如
hello.com,让这个域名指向你的电脑,也就是 127.0.0.1 这个 ip 地址。这样你在浏览器中请求 hello.com
,打开的就是你在本地电脑上搭建的环境所指定的目录里的东西。为了测试 apache
的虚拟主机功能,你可以去虚拟几个这样的域名,这样在创建虚拟主机的时候,你可以让这些域名打开各自的目录。下面,我们先去修改这个 hosts 文件。
1. 找到 hosts 文件,windows 系统是在 Windows\System32\Drivers\etc 这个目录下,Mac 系统是在 /etc/hosts ,找到以后可以使用文本编辑软件打开它。
2.
在 hosts 文件里,新的一行上,先输入 ip 地址 127.0.0.1 ,然后空格,再输入一个主机名,这个主机名可以随便,比如
hello.com ,这样访问 hello.com 就会打开在你的电脑上的网站了。另起一行,再去定义一条,127.0.0.1 hola.com 。
3.
保存修改之后的 hosts 文件,然后启动在本地上的 Web 环境,打开浏览器,在地址栏上输入 hello.com ,还有 hola.com
,看看打开的是不是你在本地上的内容。现在,你看到的应该跟你使用 http://localhost 打开的是一样的东西。
END
配置 Apache 虚拟主机
现
在,我们虚拟了两个域名,让它们指向了本地的电脑,访问它们,打开的是同一个目录里的内容,下面这个练习,我们通过修改 Apache
的配置文件,让访问不同域名的时候,打开的是不同的目录。你首先要判断一下配置 Apache 虚拟主机的配置文件,一般是在 httpd.conf
这个主配置文件里面,不过,很多环境都会单独把虚拟主机放在一个配置文件里面,然后在 httpd.conf
文件里指定一下,包含这个单独配置虚拟主机的文件。
1. 找到配置虚拟主机的配置文件,如果你用的是 WAMP 搭建的环境,先找到并打开
httpd.conf ,在这个文件里,搜索 # Virtual hosts ,它下面有一行代码, #Include
conf/extra/httpd-vhosts.conf... 你可以去掉它前面的 # ,这样,Apache
启动以后,也会去加载这个httpd-vhosts.conf 配置文件,这样做的好处就是可以保持 Apache
相关设置的整洁。当然,你完全可以在主配置文件 httpd.conf 里面去设置虚拟主机。
2. 打开 httpd-vhosts.conf 这个文件,没有这个文件也可以去创建一个,或者直接在 httpd.conf 文件里面去配置虚拟主机。配置虚拟主机的东西应该像这样:
3.
应该有两段这样的代码,每一段都是在配置一个虚拟主机,你可以复制其中的一段,然后粘贴到文件的最下面。再根据自己的需要去修改这段代码。理解它的意
思,ServerAdmin 就是网站的管理员的邮箱,DocumentRoot
是虚拟主机的主目录,也就是访问这个虚拟主机所打开的那个目录,这个目录你可以自己去指定,要注意的是,你需要先去创建这个目录,然后再在这里去指定这个
目录的位置。ServerName 是主机名,比如之前我们虚拟的那个主机名 hello.com,ServerAlias
是主机的别名,你可以指定一个其它的主机名,访问它的时候也会打开这个虚拟主机的目录里的东西。ErrorLog
是错误的日志,也就是发生错误的时候,会把错误记录到哪个文件里。CustomLog 是虚拟主机访问的日志。
这样自己新添加的虚拟主机看起来应该像这样:
3
4.
在浏览器里打开 hello.com ,访问的是这个虚拟主机的配置里 DocumentRoot 所指定的
/Applications/MAMP/htdocs/hello 这个目录里的东西,你可以在这个目录里面放点东西,比如一个 WordPress
或者 Drupal 的网站等等。
注:配置虚拟主机的时候,第一个虚拟主机是默认的,你需要留着,配置自己的虚拟主机,可以从第二个开始配置,也就是第二段 代码。
如何在Windows系统中配置Apache虚拟主机
在Windows系统中配置Apache虚拟主机的方法:
1、打开{Apache安装目录}/conf/extra目录,找到httpd-vhosts.conf文件
2、编辑httpd-vhosts.conf文件,添加如下内容:
ServerAdmin webmaster@youremail.com
DocumentRoot "c:/your_web_root"
ServerName your.domain.com
ErrorLog "logs/your_web_error.log"
CustomLog "logs/your_web_access.log" common
3、打开{Apache安装目录}/conf目录,找到httpd.conf文件
4、将附加配置文件httpd-vhosts.conf包含进来,此处只需要将注释符号#去掉即可。
5、如果只是在本地做测试,则你还需要在hosts文件中配置一个域名解析条目,在C:/windows/system32/drivers/etc/目录下找到hosts文件
6、完成以上步骤后,重启Apahce。