基于Linux搭建apache服务后,怎么构建web虚拟主机?

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

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

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

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

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

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

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

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

安装DNS服务的参考博文:https://blog.51cto.com/14154700/2357252 ,若对DNS服务的配置不太熟悉,建议参考博文链接去搭建DNS服务,而不建议参考下面的内容(没解释那么详细):

[[email protected] /]# 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";
};

[[email protected] /]# vim /var/named/test1.com.zone             #test1.com区域配置文件

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

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

[[email protected] /]# vim /var/named/test2.com.zone               #test2.com区域配置文件

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

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

[[email protected] named]# systemctl start  named              #启动DNS服务

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

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


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

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

3、添加虚拟主机配置

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

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

#设置test1虚拟站点区域

<VirtualHost *:80>             #配置监听地址及端口号,*代表任意地址
    ServerAdmin [email protected]               #设置服务器管理员的邮箱,当服务异常时,
        向该邮箱发送消息。该行也可删除。
    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 [email protected]
    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>

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

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

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

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

验证吧,结果如下:

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

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

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

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

[[email protected] named]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf      #编辑子配置文件
         ..............
<VirtualHost 192.168.1.1:80>                 #配置监听地址192.168.1.10
    ServerAdmin [email protected]
    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 [email protected]
    DocumentRoot "/var/www/test2com"
    ErrorLog "test2-error_log"
    CustomLog "test2-access_log" common
    <directory "/var/www">
    require all granted
    </directory>
</VirtualHost>

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

[[email protected] named]# systemctl restart httpd            #重启httpd服务

客户机访问:

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

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

<VirtualHost 192.168.1.1:80>                     #配置监听端口号为80
    ServerAdmin [email protected]
    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 [email protected]
    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,写上会报错

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

[[email protected] named]# systemctl restart httpd            #重启httpd服务

客户机访问:

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

原文地址:https://blog.51cto.com/14154700/2392568

时间: 2024-10-26 08:53:42

基于Linux搭建apache服务后,怎么构建web虚拟主机?的相关文章

Httpd服务器中构建Web虚拟主机

Web虚拟主机指的是在同一台服务器中运行多个Web站点,其中的每一个站点实际上并不肚子占用整个服务器,因此被成为"虚拟"Web主机.通过虚拟Web主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本'虚拟的Web主机有三种类型 基于域名的虚拟主机 基于IP地址的虚拟主机 基于端口的虚拟主机对于基于IP地址的虚拟主机,每个虚拟Web主机使用不同的IP地址,但是都通过同一台httpd服务器对外提供Web浏览服务.正因如此,用来支撑这些虚拟Web主机的服务器就需要大量的网络接

基于Linux搭建Apache网站服务配置详解

Apache作为一款开源软件,是广泛应用的web应用之一,Apache有两个主要版本1.X和2.X,一般我们使用2.X版本,比起1.X版本它支持很多新的功能,下载Apache源码包的地址为:https://httpd.apache.org ,下载到源码包后开始准备安装: 1.为避免发生端口冲突,程序冲突等问题,如果有rpm方式安装的httpd服务,建议将其卸载. 2.挂载系统镜像,切换至系统盘中的Packages目录,安装相关依赖包(注意,最好一个一个的依次安装,因为如果有些安装包已经安装了,一

基于 Apache 构建 web虚拟主机详解

虚拟 web 主机指的是在同一台服务器中运行多个 web 站点,其中的每个站点实际上并不独立占用整个服务器,因此被称为"虚拟" web主机.通过虚拟 web 主机可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本.使用 httpd 可以非常方便地构建虚拟主机服务器,只需要运行一个 httpd 服务就能够同时支撑起大量的 web 站点.httpd 支持的虚拟主机类型包括以下三种:基于域名:相同IP .相同端口 .不同域名基于IP地址:不同IP.相同端口基于端口:相同IP.不同端

CentOS 7.4——Apache应用之一,构建Web虚拟目录

目录第一部分 准备工作第二部分 安装Apache服务第三部分 搭建虚拟目录(开放访问与授权认证访问) 第一部分 准备工作一:服务器:Linux系统-CentOS 7.4:IP地址:192.168.80.10客户端:以WIN7为例,测试验证结果,与服务器在同一网段:IP地址:192.168.80.2 二:下载压缩包http://httpd.apache.org/download.cgi //http压缩包http://apr.apache.org/download.cgi //http插件包 //

Linux 搭建Apache服务个人静态页面

(1)把镜像挂载到/media/cdrom(2)配置Yum源文件(3)安装Apache服务程序httpd(4)开始httpd服务,并设置成开机自启(5)在浏览器输入?http://127.0.0.1?就可以看到web的默认页面(6)vi /etc/httpd/conf.d/userdir.conf在userdir.conf文件中注释掉UserDir disabled 去掉注释UserDir public_html(7)在用户家目录中创建public_html 在public_html中创建ind

Linux之apache服务搭建

WEB服务器的架设,在linux有一个很著名的架构叫lamp:linux+apache+mysql+php,就知道apache的分量了. 在搭建apache服务钱需要做DNS服务器 DNS的搭建http://wt7315.blog.51cto.com/10319657/1852795 http的详解http://wt7315.blog.51cto.com/10319657/1837595 apache 后台进程:httpd 脚本:/etc/rc.d/init.d/httpd 使用端口:80(ht

linux下apache服务搭建

实验拓扑:                          Linux Client -----RHEL5.9(vmnet1)----------(vmnet1)                          Win7 Client 实验一:查看默认HTTP配置     找到默认红帽欢迎页面 (/etc/httpd/conf/httpd.conf ---->Include ----> /etc/httpd/conf.d  ----> welcome.conf  ----> /

基于Cent OS7搭建apache网站后的访问控制配置详解

在一台centos7上搭建apache网站后,一般都是允许所有人访问的,那么可能会有一些特殊情况,需要对访问网站的人进行限制,出于这种情况,apache可以通过Require配置项,来对客户端进行一些访问限制,可以基于IP地址.网段.主机名或域名.使用名称"all"时表示任意地址. 安装apache服务的参考博文:https://blog.51cto.com/14154700/2391114 1.客户机地址限制: 限制策略的常用格式有下面几种: Require all granted:

apache基本配置管理三:企业中常见基于repo的apache服务环境搭建

客户背景操作: 客户需要搭建基于http协议的yum源,存放常用自定义开发的服务软件包,客户主机已经安装了自动化运维工具puppet,该puppet架构,基于forman,forman的页面Web提供了forman的web页面管理,使用了默认的80,由于有ssl协议,开启了443端口.所以此时yum源码服务器需要更换默认的服务端口,需要配置基于端口的apache服务 实验环境:redhat6.7  基于yum源的安装方式 一.由于要yum安装软件包,需要挂载ISO,配置repo文件 [[emai