Linux下配置基于Apache的Web虚拟主机

栏目: 服务器 · 发布时间: 5年前

内容简介:Web虚拟主机指的是在同一台服务器中运行多个web站点,其中的每个站点实际上并不独立占用整个服务器,因此被称为“虚拟”Web主机,通过虚拟Web主机服务可以充分利用服务器的硬件资源。使用httpd可以非常方便的去搭建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑大量的web站点。httpd支持的虚拟主机类型有这么三种(与Windows 的IIS服务一样):1、相同IP、端口号、不同域名的虚拟主机;

Web虚拟主机指的是在同一台服务器中运行多个web站点,其中的每个站点实际上并不独立占用整个服务器,因此被称为“虚拟”Web主机,通过虚拟Web主机服务可以充分利用服务器的硬件资源。

使用httpd可以非常方便的去搭建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑大量的web站点。httpd支持的虚拟主机类型有这么三种(与Windows 的IIS服务一样):

1、相同IP、端口号、不同域名的虚拟主机;

2、相同IP、不同端口号的虚拟主机;

3、不同IP、相同端口号的虚拟主机;

大多数运维人员在搭建虚拟主机时,应该都是采用第一种方案,基于不同域名来做虚拟主机,这也是最人性化的一种方案。

一、开始搭建基于域名的虚拟主机:

1、为虚拟主机提供域名解析

DNS服务安装参考: https://www.linuxidc.com/Linux/2019-05/158642.htm ,若对DNS服务的配置不太熟悉,建议参考博文链接去搭建DNS服务,而不建议参考下面的内容(没解释那么详细):

[root@localhost /]# vim /etc/named.conf              #named服务器主配置文件

                  .....................           #省略部分内容

zone "test1.com" in {                                          
        type master;
        file "test1.com.zone";
};

zone "test2.com" in {
        type master;
        file "test2.com.zone";
};

[root@localhost /]# vim /var/named/test1.com.zone             #test1.com区域配置文件

              ......................               #省略部分内容

        in      ns      www.test1.com.
www     in      a       192.168.1.1

[root@localhost /]# vim /var/named/test2.com.zone               #test2.com区域配置文件

              ......................                  #省略部分内容

        in      ns      www.test2.com.
www     in      a       192.168.1.1

[root@localhost named]# systemctl start  named              #启动DNS服务

2、为虚拟主机准备网页文档

为每个虚拟web主机准备网站目录及网页文档。为了方便测试,分别为每个虚拟web主机提供包含不同的首页文件:

[root@localhost named]# mkdir -p /var/www/test1com
[root@localhost named]# mkdir -p /var/www/test2com
[root@localhost named]# echo "<h1>www.test1.com</h1>" > /var/www/test1com/index.html
[root@localhost named]# echo "<h1>www.test2.com</h1>" > /var/www/test2com/index.html

希望上述操作大家可以看懂在干什么吧,懒得解释了。

3、添加虚拟主机配置

[root@localhost named]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf               #创建独立的配置文件
该文件默认存在)

   .....................               #省略部分内容

#设置test1虚拟站点区域

<VirtualHost *:80>             #配置监听地址及端口号,*代表任意地址            
    ServerAdmin 916551516@qq.com               #设置服务器管理员的邮箱,当服务异常时,
        向该邮箱发送消息。该行也可删除。
    DocumentRoot "/var/www/test1com"            #设置网站根目录
    ServerName www.test1.com                         #配置域名
    ErrorLog "logs/test1-error_log"                        #错误日志存放在/usr/local/httpd/logs
    CustomLog "logs/test1-access_log" common             #访问记录日志存放处
    <directory "/var/www">              #设置目录访问权限
    require all granted
    </directory>
</VirtualHost>

# 设置test2虚拟站点区域
<VirtualHost *:80>
    ServerAdmin 916551516@qq.com
    DocumentRoot "/var/www/test2com"
    ServerName www.test2.com
    ErrorLog "logs/test2-error_log"
    CustomLog "logs/test2-access_log" common
    <directory "/var/www">
    require all granted
    </directory>
</VirtualHost>

[root@localhost named]# vim /usr/local/httpd/conf/httpd.conf         #修改网站主配置文件

         ............... #进入主配置文件后,在末行模式下执行   /vhosts  ,定位到下面该行

Include conf/extra/httpd-vhosts.conf           #删除该行开头的#号,以便加载独立的配置文件     
[root@localhost named]# systemctl restart httpd                #重启服务使配置生效,
我把httpd添加成了系统服务,
才可使用systemctl命令来控制httpd服务,若没添加为系统服务,
还是老老实实的使用服务自带的控制 工具 吧。

4、在客户机中访问虚拟web主机

验证吧,结果如下:

Linux下配置基于Apache的Web虚拟主机

Linux下配置基于Apache的Web虚拟主机

齐活,基于不同域名的虚拟主机至此就做完了。

二、基于IP地址的虚拟主机:

(十万个不想接着往下写了,因为接下来的内容了解即可,不会用到的,不过呢.....为了以防万一,还是简单写一下吧)

注意,每一种方式之间毫无任何关联,千万别把基于IP地址的虚拟主机和基于域名的搞混了

[root@localhost named]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf      #编辑子配置文件
         ..............
<VirtualHost 192.168.1.1:80>                 #配置监听地址192.168.1.10
    ServerAdmin 916551516@qq.com
    DocumentRoot "/var/www/test1com"
    ErrorLog "test1-error_log"
    CustomLog "test1-access_log" common
    <directory "/var/www">
    require all granted
    </directory>
</VirtualHost>

<VirtualHost 192.168.1.10:80>                 #配置监听地址为192.168.1.10
    ServerAdmin 916551516@qq.com
    DocumentRoot "/var/www/test2com"
    ErrorLog "test2-error_log"
    CustomLog "test2-access_log" common
    <directory "/var/www">
    require all granted
    </directory>
</VirtualHost>

[root@localhost named]# vim /usr/local/httpd/conf/httpd.conf          
                ......................             
Include conf/extra/httpd-vhosts.conf            #加载独立的配置文件

[root@localhost named]# systemctl restart httpd            #重启httpd服务

客户机访问:

Linux下配置基于Apache的Web虚拟主机

Linux下配置基于Apache的Web虚拟主机

二、基于端口的虚拟主机:

[root@localhost named]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf      #编辑子配置文件

<VirtualHost 192.168.1.1:80>                     #配置监听端口号为80
    ServerAdmin 916551516@qq.com
    DocumentRoot "/var/www/test1com"                       #正常访问的网站目录
    ErrorLog "test1-error_log"
    CustomLog "test1-access_log" common
    <directory "/var/www">
    require all granted
    </directory>
</VirtualHost>

<VirtualHost 192.168.1.1:8000>                     #配置监听端口号为8000
    ServerAdmin 916551516@qq.com
    DocumentRoot "/var/www/test2com"               #后台管理系统的网站目录
    ErrorLog "test2-error_log"
    CustomLog "test2-access_log" common
    <directory "/var/www">
    require all granted
    </directory>
</VirtualHost>

listen 8000                  #监听8000,由于80端口默认监听,所以不用写listen  80,写上会报错

[root@localhost named]# vim /usr/local/httpd/conf/httpd.conf          
                ......................             
Include conf/extra/httpd-vhosts.conf            #加载独立的配置文件

[root@localhost named]# systemctl restart httpd            #重启httpd服务

客户机访问:

Linux下配置基于Apache的Web虚拟主机

注意:在访问时老实点输入:http://192.168.1.1:8000。不输入“http://”的话访问不到。

Linux下配置基于Apache的Web虚拟主机

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-05/158643.htm


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

大型网站系统与Java中间件开发实践

大型网站系统与Java中间件开发实践

曾宪杰 / 电子工业出版社 / 2014-4-24 / 65.00

本书围绕大型网站和支撑大型网站架构的 Java 中间件的实践展开介绍。从分布式系统的知识切入,让读者对分布式系统有基本的了解;然后介绍大型网站随着数据量、访问量增长而发生的架构变迁;接着讲述构建 Java 中间件的相关知识;之后的几章都是根据笔者的经验来介绍支撑大型网站架构的 Java 中间件系统的设计和实践。希望读者通过本书可以了解大型网站架构变迁过程中的较为通用的问题和解法,并了解构建支撑大型......一起来看看 《大型网站系统与Java中间件开发实践》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试