httpd配置-默认虚拟主机

在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录。

一个服务器主机可以运行多个网站,每个网站都是一个虚拟主机;
任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机;
在dns还未生效时,通过修改hosts文件,设置ip与域名的映射解析,来配置域名。

一、在Windows中编辑hosts文件

Windows系统中hosts位置“C:\Windows\System32\drivers\etc\hosts”
说明:在此可以自定义匹配本地IP和域名,目的是添加临时访问地址(在DNS未生效的时候使用)。

hosts中添加一行:

192.168.204.128     www.abc.com


在windows上ping一下看看能否访问定义的IP:

在浏览器中:

二、在Linux中设置httpd默认虚拟主机

在物理机访问的域名www.abc.com并未在虚拟机Apache配置文件中定义,虚拟机中只定义了ServerName www.example.com:80一个域名,该域名即为Apache的默认主机,此时通过任何一个绑定该虚拟机IP的域名进行访问都会跳转到该主机。

因为一台服务器可以跑多个域名,为了方便管理,需要对虚拟主机进行配置:

1、编辑httpd配置文件

[[email protected] ~]# vim /usr/local/apache2/conf/httpd.conf   //搜索httpd-vhost,去掉#

2、编辑虚拟主机配置文件

[[email protected] ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 

修改内容:

<VirtualHost *:80>                                     //每个VirtualHost代表一个主机,一个主机代表一个网站
    ServerAdmin [email protected]     //定义管理员的邮箱
    DocumentRoot "/data/webroot/abctest"                   //指定根目录
    ServerName zlinux.com                                                    //定义网站名称
    ServerAlias zlinuxbak.com                                                //设置网站别名
    ErrorLog "logs/dummy-host.example.com-error_log"       //错误日志
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/data/webroot/123test"
    ServerName 123test.com
    ServerAlias www.example.com
    ErrorLog "logs/dummy-host2.example.com-error_log"
    CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>

说明:此时即定义了一个网站,定义网站的核心参数即为:DocumentRoot(网站根目录)、ServerName(域名)。
注意: 虚拟主机生效后,原Apache配置文件中的默认主机(www.example.com 192.168.204.128)就会失效。

3、添加虚拟主机相应目录

[[email protected] ~]# mkdir /data/wwwroot/
[[email protected] ~]# mkdir /data/wwwroot/abctest
[[email protected] ~]# mkdir /data/wwwroot/123test

在目录中创建PHP测试文件:

[[email protected] ~]# vim /data/wwwroot/abctest/index.php

<?php
echo "this is a testfile!";
?>
[[email protected] ~]# vim /data/wwwroot/123test/index.php

<?php
echo "这是一个123test文件!";
?>

4、测试虚拟主机

[[email protected] ~]# curl -x 192.168.204.128:80 zlinux.com
This is a testfile![[email protected] ~]#
[[email protected] ~]# curl -x 192.168.204.128:80 123test.com
这是一个123test文件![[email protected] ~]#
[[email protected] ~]# curl -x 192.168.204.128:80 000test.com     //在没有指定或错误域名的情况下,访问任意的域名都将访问到默认主机所对应的内容。
This is a testfile![[email protected] ~]# 

原文地址:http://blog.51cto.com/3069201/2074422

时间: 2024-07-29 10:48:28

httpd配置-默认虚拟主机的相关文章

LAMP - 配置默认虚拟主机

当DNS服务配置完成后,我们就可以顺利地在浏览器里输入自己的域名来访问网站了:可是如果有一天某家别的公司的域名在DNS里配置时,不小心指向到了我们服务器的IP,并且我们的服务器里还没有配置默认虚拟主机的情况下,会不会能成功访问我们的网站呢?那是必然的,这样不合规范,也不安全,最严重的是用户会认为这两家公司是一模一样的. 为了防止以上情况发生,我们需要在虚拟主机配置文件里的第一行增加一个默认虚拟主机,并且DocumentRoot为空,ServerName随便写一个: <VirtualHost *:

12.Nginx介绍,安装,配置默认虚拟主机,重定向

[toc] 12.5 Nginx介绍 官网:nginx.org 因为nginx处理静态文件的能力要比apache好很多,所以很多企业在建站的时候一般都是用java写的,然后会选择tomcat,但是tomcat处理静态文件的能力不是太好就会叠加选择nginx. nginx特点: 体积小 处理能力强 并发高 可扩展性好 Nginx应用场景: web服务 反向代理 负载均衡 Nginx著名分支,淘宝基于Nginx开发的Tengine,使用上和Nginx一致,服务名,配置文件名都一样,和Nginx的最大

apache配置默认虚拟主机

为了防止其他不是自己的域名解析到自己的IP,我们可以通过更改虚拟主机文件/usr/local/apache2/conf/extra/httpd-vhosts.con 去限制其他域名.我们创建的新的虚拟主机,创建一个新的空目录将其权限设置为600.这样只有我们在配置文件中定义的域名在能访问.配置如下: 在第一个虚拟主机的位置加入如下代码: DocumentRoot "/tmp/123"        #配置一个空目录,当不是本机的域名解析到本机ip时,默认访问这个空目录    Serve

Apache 配置默认虚拟主机

如下,我们只配置了一个虚拟主机,假设 www.test.com 对应的 IP 为 192.168.1.1 ,默认情况下用户访问匹配的是第一个虚拟主机,这样一来,如果用户在 hosts 文件中用 192.168.1.1 指向非 www.test.com ,同样也能访问到 www.test.com ,我们应该杜绝这种情况,因此在前面增加多一个虚拟主机,让这个虚拟主机指向不存在的文件,这样一来,当用户访问时,默认匹配的是第一个虚拟主机,只有当访问到 www.test.com 时才匹配到正确的虚拟主机

Nginx 配置默认虚拟主机

为什么要配置默认的虚拟主机:http://www.cnblogs.com/pzk7788/p/7039496.html [[email protected] ~]# vim /usr/local/nginx/conf/vhosts/default.conf server { listen 80 default_server; server_name localhost; index index.html index.htm index.php; root /tmp/1233; deny all;

配置httpd结合php及默认虚拟主机

一.配置httpd支持php1?httpd的主配制文件: /usr/local/apache/conf/httd.conf1?在我们安装好httpd之后,会有一个提示set ServerName,我们进入以上这个配制文件,把Servername前面的#号去掉,然后注释掉一个php,这样就不会提示出错了.2?增加一行配制:Require all granted 如果不加这一行,访问是403我们要首先要ping 下80端口是不是通的,临时让linux防火墙开启80端口: iptables -I IN

Apache与PHP的结合配置、Apache默认虚拟主机

Apache和PHP结合 配置httpd支持php 1. 修改配置文件: [[email protected] php-7.1.6]# vim /usr/local/apache2.4/conf/httpd.conf 修改一: 修改httpd的主配置文件/usr/local/apache2.4/conf/httpd.conf,搜索ServerName,把#ServerName www.example.com:80前面的#号删除. 找到如下内容更改: <Directory /> AllowOve

Nginx安装与配置:默认虚拟主机、用户认证和域名重定向

一.Nginx安装 1.下载并解压安装包 [[email protected] ~]# cd /usr/local/src/ [[email protected] src]# wget http://nginx.org/download/nginx-1.12.2.tar.gz [[email protected] src]# tar zxf nginx-1.12.2.tar.gz 2.配置编译选项 [[email protected] src]# cd nginx-1.12.2 [[email 

90.Nginx安装与配置:默认虚拟主机、用户认证和域名重定向

一.Nginx安装 1.下载并解压安装包 [[email protected] ~]# cd /usr/local/src/[[email protected] src]# wget http://nginx.org/download/nginx-1.12.2.tar.gz[[email protected] src]# tar zxf nginx-1.12.2.tar.gz 2.配置编译选项 [[email protected] src]# cd nginx-1.12.2[[email pro