Httpd基础之搭建httpd服务器并提供两个基于名称的虚拟主机

news/2025/2/26 7:27:03

说明

所谓虚拟主机不外乎就是一个物理主机上存在多个虚拟站点;通常httpd的虚拟主机有三类,分别是基于ip的虚拟主机、基于端口的虚拟主机以及基于FQDN的虚拟主机;不难理解基于ip的虚拟主机就是以不同IP来区分不同的虚拟主机;基于端口的虚拟主机就是以不同端口区分不同的虚拟主机,基于fqdn的虚拟主机就是以不同用户请求报文中的host首部来区分的虚拟主机。

虚拟主机

httpd里虚拟主机的配置方法是由<virtualhost IP:PORT> …</virtualhost>
配置块来配置;其中httpd2.2在启用虚拟主机配置前需要将其中心主机禁用,禁用方法很简单,就是把中心主机里的documentroot指令注释即可;在httpd2.4中,我们就不需要去关闭中心主机,在配置了虚拟主机以后,中心主机自然失效,不需要人为手动注释;对于在中心主机里可配置的指令大多数都可以用于虚拟主机配置块中;用法和中心主机里配置几乎没有啥差别

示例:基于IP的虚拟主机实现

提供两个基于IP的虚拟主机,一个是192.168.6.129:80,一个是192.168.6.131:80的主机;我们在对应目录下创建好主页文件,重载配置文件,这两个虚拟主机就可以生效了;

准备条件:两张网卡,分别表示两个不同的虚拟主机

在这里插入图片描述

步骤:

1.在/etc/httpd/conf.d下创建test.conf配置文件(/etc/httpd/conf.d目录下创建*.conf结尾的文件都会被自动读取为配置文件)

<virtualhost 192.168.6.129>  #虚拟机IP访问地址
        servername www.X.com  #服务域名
        documentroot /web/vhosts/x   #主网站存放目录
        <directory /web/vhosts/x>
                options none
                allowoverride none
                require all granted #允许所有人访问
        </directory>
        errorlog /var/log/httpd/x_error.log  #错误日志存放目录
        LogLevel warn  #错误等级
        customlog /var/log/httpd/x_access.log combined  #访问日志
</virtualhost>

<virtualhost 192.168.6.131>  #虚拟机IP访问地址
        servername www.Y.com #服务域名
        documentroot /web/vhosts/y #主网站存放目录
        <directory /web/vhosts/y>
                options none
                allowoverride none
                require all granted  #允许所有人访问
        </directory>
        errorlog /var/log/httpd/www2_error.log  #错误日志存放目录
        LogLevel warn  #错误等级
        customlog /var/log/httpd/y_access.log combined #访问日志
</virtualhost>

2.创建两个虚拟机对应的文件存放目录

mkdir -p web/vhosts/{x,y}

3.创建对应目录下的主页面index.html

3.1 在/web/vhosts/x/目录下
vim index.html
<h1>
This is www.X.com</br>
hostname : www.X.com</br>
IP : 192.168.6.129</br>
port : 80
</h1>

3.2在/web/vhosts/y/目录下
<h1>
This is www.Y.com</br>
hostname : www.Y.com</br>
IP : 192.168.6.131</br>
port : 80
</h1>

4.重启httpd 服务

4.1检查语法是否有错误
httpd -t

4.2重启httpd 服务
systemctl restart httpd

结果展示:
在这里插入图片描述
在这里插入图片描述
日志文件自动生成
在这里插入图片描述
两个目录虚拟模拟两个站点
在这里插入图片描述

2.示例:基于端口的虚拟主机实现

很简单 只需要在原本/etc/httpd/conf.d/test.conf配置文件下稍微修改下就可以了
红框就是修改的部分,这样就可以实现访问两个不同的端口实现访问不同的虚拟站点了
修改完后重启下httpd 服务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.niftyadmin.cn/n/2199347.html

相关文章

JDK中的动态代理机制

定义 代理模式&#xff1a;为其他对象提供一种代理以控制对这个对象的访问。 事例 小明是一个程序员&#xff0c;在公司负责项目的研发工作。有一天&#xff0c;客户打电话进来&#xff0c;沟通之后&#xff0c;原来客户是有个模块需求要变动一下。小明却没有应允&#xff0c;而…

Linux 搭建私有CA证书服务器之超详细版本

一、CA简介 CA是什么&#xff1f;CA是Certificate Authority的简写&#xff0c;从字面意思翻译过来是凭证管理中心&#xff0c;认证授权。它有点类似我们生活中的身份证颁发机构&#xff0c;这里的CA就相当于生活中颁发身份证的机构。不同于生活中的颁发机构&#xff0c;这里的…

Linux部署分离的LAMP

两台主机&#xff1a; 一台192.168.6.129安装apache httpd mariadb&#xff1b; 一台192.168.6.130 安装php-fpm 在192.168.6.129上安装httpd 和mariadb [roothost1 yum.repos.d]# yum install httpd -y [roothost1 ~]# yum install MariaDB-server -y测试httpd mariadb服务…

Centos 7实现mariadb-10.2.25二进制源码编译

源码包&#xff1a;mariadb-10.2.25 主机 192.168.6.130 1.安装依赖包&#xff1a; [roothost2 data]# yum install yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c cmake ncurses-devel gnutls-devel libxml2-devel openss…

Centos 部署分离LAMP架构和实现wordpress安装

主机&#xff1a;两台CentOS7系统主机&#xff0c;一台实现apachephp (host1:192.168.6.129)&#xff0c;一台实现mariadb (host2:192.168.6.130) 所需源码包&#xff1a; httpd-2.4.39.tar.bz2&#xff0c;php-7.3.12.tar.bz2&#xff0c;apr-1.7.0.tar.bz2&#xff0c;apr-u…

Loganalyzer日志的简单应用

实现过程&#xff1a; 要想图形化展示日志&#xff0c;我们可以利用rsyslog的前端展示工具loganalyzer来展示。用这个工具它是基于LAMP架构来实现的&#xff0c;在这之前我们先把apache的访问日志交给rsyslog&#xff0c;rsyslog再把对应的日志写到数据库里&#xff0c;然后通…

centos 7.6实现基于mysql数据库验证的vsftpd虚拟用户-超简单版本

环境&#xff1a; 两台服务器&#xff1a; 一台vsftpd服务器&#xff1a;192.168.6.129 一台数据库服务器&#xff1a;192.168.6.130 开始&#xff1a; 1.在192.168.6.130上安装Mariadb_server 数据库 yum install Mariadb-server -y2.进入数据库 [rootCentos7 ~]# mysql -u…

小白练习篇-centos 7.6通过NFS实现服务器/www的共享访问功能

实验环境&#xff1a; 系统&#xff1a;centos 7.6 NFS服务器192.168.6.129 客户机192.168.6.130 1.在192.168.6.129安装nfs-utils [rootCentos7 /]# yum install -y nfs-utils2.配置nfs共享/www目录 [rootCentos7 /]# vim /etc/exports /www 192.168.6.130(rw,root_squash,…