LAMP架构之构建虚拟主机

虚拟Web主机

在同一台服务器中运行多个Web站点,其中每一个站点并不独立
占用一台真正的计算机

httpd支持的虚拟主机类型

1.基于域名的虚拟主机
2.基于IP地址的虚拟主机
3.基于端口的虚拟主机

范例演示

基于域名的虚拟主机

第一步:环境部署

1.安装DNS的软件包bind和httpd的服务,用以测试

[[email protected] ~]# yum install bind httpd -y
...


2.为虚拟主机提供域名解析

[[email protected] ~]# vim /etc/named.conf             //进入主配置文件
options {
        listen-on port 53 { any; };         //将原有的127.0.0.1替换成any
        ...
         allow-query     { any; };              //将localhost替换成any

[[email protected] ~]# vim /etc/named.rfc1912.zones            //进入区域配置文件

zone "accp.com" IN {                                                    //第一个正向域名
type master;
        file "accp.com.zone";                                           //指向区域数据配置文件accp.com.zone
        allow-update { none; };
};
zone "kgc.com" IN {                                                 //第二个正向域名
        type master;
        file "kgc.com.zone";                                        //指向区域数据配置文件kgc.com.zone
        allow-update { none; };
};

[[email protected] ~]# cd /var/named/                                      //进入/var/named/目录
[[email protected] named]# cp -p named.localhost accp.com.zone         //复制模板文件named.localhost为accp.com.zone的区域数据配置文件

[[email protected] named]# vim accp.com.zone                       //编辑区域数据配置文件

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.235.129                                     //添加解析A记录,并指向本主机IP地址

[[email protected] named]# cp -p accp.com.zone kgc.com.zone                //复制accp.com.zone为kgc.com.zone的区域数据配置文件,无需进行修改

[[email protected] named]# systemctl start named                       //启动域名解析服务
[[email protected] named]# systemctl stop firewalld.service                        //关闭防火墙
[[email protected] named]# setenforce 0                        //关闭增强型安全功能


第二步:使用客户机进行测试DNS服务

1.修改客户机的DNS服务器地址为虚拟主机的地址

2.打开客户机的cmd命令提示符,使用nslookup命令加上域名即可获取解析到的地址



第三步:设定虚拟主机相关配置文件

1.配置虚拟主机的配置文件

[[email protected] named]# cd /etc/httpd/conf          //进入配置文件的conf目录
[[email protected] conf]# mkdir extra                  //创建扩展目录
[[email protected] conf]# cd extra/                        //进入目录
[[email protected] extra]# vim vhost.conf              //编辑虚拟主机配置文件,可自行定义

<VirtualHost *:80>              //标签 *所有ip 80端口
DocumentRoot "/var/www/html/accp/"  //站点目录
ServerName www.accp.com         //站点域名
ErrorLog "logs/www. accp.com.error_log"     //站点错误日志文件,logs为/var/log/httpd的软链接(相对路径)
CustomLog "logs/www.accp.com.access_1og" common     //站点访问日志
<Directory "/var/www/html/">        //控制目录权限
Require all granted         //允许所有访问
</Directory>
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "/var/ www/ html/kgc/"
ServerName www. kgc. com
ErrorLog "logs/www.kgc.com.error_1og"
CustomLog "logs/www.kgc.com.access_log” common
<Directory "/var/www/html/">
Require all granted
</Directory>
</VirtualHost>


2.配置网页

[[email protected] extra]# cd /var/www/html/       //进入站点目录
[[email protected] html]# mkdir accp kgc
[[email protected] html]# cd accp/
[[email protected] accp]# vim index.html
<h1>this is accp web</h1>

[[email protected] accp]# cd ../kgc/
[[email protected] kgc]# vim index.html
<h1>this is kgc web</h1>

3.进入httpd.conf配置文件,声明包含先前创建的虚拟主机子配置文件

[[email protected] kgc]# cd /etc/httpd/conf
[[email protected] conf]# vim httpd.conf
...
Include conf/extra/vhost.conf               //在末行接入此条目,用以声明包含虚拟主机子配置文件

[[email protected] extra]# systemctl start httpd       //启动httpd服务

第四步:使用客户机访问网页



二、基于端口的虚拟主机

1.编辑虚拟主机配置文件

[[email protected] extra]# vim vhost.conf
...                     //省略之前设定好得部分配置
<VirtualHost  *:8080>           //添加accp域名的8080端口
DocumentRoot "/var/www/html/accp02"
ServerName www.accp.com
ErrorLog "logs/www.accp02.com.error_log"
CustomLog "logs/www.accp02.com.access_log" common
<Directory "/var/www/html/">
Require all granted
</Directory>
</VirtualHost>

2.创建新建的8080端口的网页站点

[[email protected] extra]# cd /var/www/html/
[[email protected] html]# mkdir accp02
[[email protected] html]# cd accp02/
[[email protected] accp02]# vim index.html
<h1>this is accp02 test web</h1>

3.修改httpd.conf配置文件的监听地址

vim /etc/httpd/conf/httpd.conf      //进入配置文件
...
Listen 192.168.235.129:80
Listen 192.168.235.129:8080         //找到Listen条目并添加8080端口监听项
[[email protected] accp02]# systemctl restart httpd        //重启服务

4.使用客户机网页



三、基于IP的虚拟主机

1.首先添加第二块网卡,然后他会自动获取到一个IP地址

2.配置虚拟主机的配置文件

[[email protected] accp02]# cd /etc/httpd/conf/extra/
[[email protected] extra]# ls
vhost.conf
[[email protected] extra]# vim vhost.conf

  1 <VirtualHost 192.168.235.129:80>
  2 DocumentRoot "/var/www/html/accp/"
  3 ServerName www.accp.com
  4 ErrorLog "logs/www.accp.com.error_log"
  5 CustomLog "logs/www.accp.com.access_1og" common
  6 <Directory "/var/www/html/">
  7 Require all granted
  8 </Directory>
  9 </VirtualHost>
 10
 11 <VirtualHost  192.168.235.142:80>
 12 DocumentRoot "/var/www/html/accp02"
 13 ServerName www.accp.com
 14 ErrorLog "logs/www.accp02.com.error_log"
 15 CustomLog "logs/www.accp02.com.access_log" common
 16 <Directory "/var/www/html/">
 17 Require all granted
 18 </Directory>
 19 </VirtualHost>

3.修改httpd.conf配置文件的监听地址

[[email protected] extra]# vim /etc/httpd/conf/httpd.conf
...
Listen 192.168.235.129:80
Listen 192.168.235.142:80           //添加另一个IP的监听

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

4.使用客户机网页

原文地址:https://blog.51cto.com/14449521/2444901

时间: 2024-10-08 21:35:39

LAMP架构之构建虚拟主机的相关文章

基于域名构建虚拟主机

构建虚拟主机 虚拟Web主机: 1.在同一-台物理服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机 httpd支持的虚拟主机类型: 1.基于域名的虚拟主机(企业常用)2.基于IP地址的虚拟主机3.基于端口的虚拟主机 大型公司实例项目:两台物理主机(A/B)两台主机中分别有两个虚拟站点主机A和B中都有accp网站和kgc网站网站内容完全相同,对外提供业务时,既用到了合理分配,也起到了双机热备学习一台主机架构两个网站 构建虚拟主机一 基于域名 应用示例: 1.构建2个虚拟Web

linux构建虚拟主机

概念 虚拟web主机 在同一台物理服务器中运行多个web站点,其中每一个站点并不独立占用一台真正的计算机. httpd支持的三种虚拟主机类型 基于域名的虚拟主机基于IP地址的虚拟主机基于端口的虚拟主机 基于域名构建虚拟主机 安装dns和http服务 更改dns配置文件 在测试机上添加dns服务器地址192.168.149.129 开启服务,关闭防火墙,测试是否能解析成功 在httpd服务的配置文件中添加一个子配置文件目录extra,并在目录内添加虚拟主机配置文件 创建站点 将主配置文件申明子配置

CentOS 7中构建虚拟主机(实验篇)

虛拟Web主机 在同一台物理服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机 httpd支持的虚拟主机类型 基于域名的虚拟主机 基于IP地址的虚拟主机 基于端口的虚拟主机 搭建实验 基于域名的虚拟主机 [[email protected] ~]# yum install bind httpd -y //在服务器上安装DNS与HTTP服务 [[email protected] ~]# cd /etc/ //进入etc目录 [[email protected] etc]# vi

构建虚拟主机之基于域名

什么是虚拟web主机?在同一台服务器中运行多个web站点,其中每一个站点并不独立占用一台真正的计算机.httpd支持的虚拟主机类型 基于域名的虚拟主机 基于IP地址的虚拟主机 基于端口的虚拟主机 构建基于域名的虚拟主机一.构建DNS服务器1.安装bind.hettpd包2.修改配置文件3.测试DNS是否能进行域名解析客户机上一定要修改配置自定义DNS服务器使用"nslookup"命令查看二.构建虚拟主机1.在/etc/httpd/conf下创建扩展配置文件 <VirtualHos

LAMP架构之构建php为apache的模块(CentOS 7)

LAMP架构是一个提供web服务的整体架构,它的组件分别是Linux.Apache.Mysql(Mariadb).PHP.本文介绍如何快速构建一个LAMP架构,并将PHP编译为apache的模块.之后并使用xcache加速引擎来加速php页面的处理速度. 一.配置前准备 两台CentOS 7主机.主机A地址为172.16.25.71,主机B为172.16.25.72 在两台主机配置好yum源. 下载两个web架构包phpMyAdmin-4.4.14.1-all-languages.zip和wor

CentOS7单机部署lamp环境和apache虚拟主机

(1)apache介绍 apache : httpd.apache.org 软件包:httpd 端口服务:80/tcp(http) 443/tcp(https,http+ssl) 配置文件: /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/*.conf /etc/httpd/conf.d/welcome.conf //默认测试页面 (2)lamp环境安装 1.关闭防火墙和selinux systemctl stop firewalld.service s

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动静分离站点

一.架构图 我们要实现的架构师,一台 EC2 两个虚拟主机,通过一个 ELB,一个 CloudFront 实现动静分离,并且实现不同的域名访问不同的网站,并且启用 HTTPS. 二.实现步骤 2.1.EC2 配置 在 EC2 上面安装 nginx 服务,创建两个虚拟主机的网站文件,以及虚拟主机配置文件,分别如下:网站路径如下,首页里面通过标签引用了图片. ├── test1 │?? ├── images1 │?? │?? ├── 1.jpg │?? │?? └── 2.jpg │?? └── i

构建虚拟主机——基于域名,端口,IP

虚拟web主机 在同一台物理服务器中运行多个web站点,其中每一个站点并不独立占用一台真正的计算机 httpd支持的虚拟主机类型 * 基于域名的虚拟主机 * 基于IP地址的虚拟主机 * 基于端口的虚拟主机 案例一--基于域名 构建2个虚拟web站点 www.accp.com ip地址为本机地址 www.kgc.com ip地址为本机地址 在浏览器中访问这两个域名时,分别显示不同的内容 实验环境 一台Linux主机做服务器一台win7主机做测试 1,安装http和dns服务 [[email pro

APache网站服务配置访问控制和构建虚拟主机

博文目录一.Httpd服务的访问控制1.客户机地址限制2.用户授权限制二.构建虚拟Web主机三.配置基于域名的虚拟主机四.配置基于IP地址的虚拟主机五.配置基于端口号的虚拟主机 一.Httpd服务的访问控制 为了更好地控制对网站资源的访问.可以为特定的网站目录添加访问授权.主要分为客户机地址限制和用户授权限制,这两种访问控制方式都应用于httpd.conf配置文件中的目录区域范围内. 1.客户机地址限制 通过Require配置项,可以根据主机的主机名或IP地址来决定是否允许客户端访问.在http