Apache 配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置。本篇随笔记录自己基于IP的虚拟主机配置。

  如果同一台服务器有多个IP,可以使用基于IP的虚拟主机配置,将不同的服务绑定在不同的IP上。

(1)绑定IP:

  在虚拟机中搭建的CentOS 7 服务器的IP被自己设置为了静态IP 192.168.1.210,现在使用ifconfig在同一个网络接口上绑定192.168.1.211~213这三个IP:

ifconfig eth0: 192.168.1.211/ up
ifconfig eth0: 192.168.1.212/ up
ifconfig eth0: 192.168.1.213/ up

(2)在 /etc/hosts 文件中设置IP地址的名称:

用ping命令测试这三个IP地址有没有打通:

可以看到这三个地址是开通的。

(3)建立虚拟主机存放网页的跟目录,并创建首页文件 index.html:

(i) Apache 服务器的HOME地址为 /usr/local/apache2, 在这个地址下,htdocs文件夹为默认的服务器主机存放网页的根目录,现在在 /usr/local/apache2目录下新建 www文件夹,在 www文件夹下新建三个虚拟主机的根目录 nice1,nice2和nice3:

cd /usr/local/apache2
mkdir www
cd www
mkdir nic1 nice2 nice3

(ii) 使用echo 命令在三个虚拟主机的根目录中生成 index.html 文件:

echo "This is nice1 , welcome."> nice1/index.html
echo "This is nice2 , welcome."> nice2/index.html
echo "This is nice3 , welcome."> nice3/index.html

(4) 修改 /usr/local/apache2/conf/httpd.conf 文件,在文件末尾添加以下内容:

Listen 192.168.1.211:
Listen 192.168.1.212:
Listen 192.168.1.213: Include conf/vhost/*.conf

(5) 编辑每个IP的配置文件:

[root@javis:/usr/local/apache2] # cd /usr/local/apache2/conf
[root@javis:/usr/local/apache2/conf] # mkdir vhost
[root@javis:/usr/local/apache2/conf] # cd vhost

在 /usr/local/apache2/conf/vhost/  目录下用 vim 命令生成并编辑 nice1.conf , nice2.conf , nice3.conf 三个文件,内容如下:

仅举 nice1.conf 为例:

<VirtualHost 192.168.1.211:>
ServerName nice1
DocumentRoot /usr/local/apache2/www/nice1
<Directory "/usr/local/apache2/www/nice1/">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

(6) 配置完以后可以启动Apache服务并进行测试:

(i)

(ii) 使用 curl 命令查看三个虚拟主机的内容:

(iii) 用Windows主机的浏览器查看三个虚拟主机的内容:

成功!

CentOS 7运维管理笔记(6)----Apache 基于 IP 的虚拟主机配置的更多相关文章

  1. CentOS 7运维管理笔记(8)----Apache基于域名的虚拟主机配置

    使用基于域名的虚拟主机配置是比较流行的方式,可以在同一个IP上配置多个域名并且都通过80端口访问. (1) 在网卡 eth0的第五个接口上配置 192.168.1.215 这个地址: (2) 配置/e ...

  2. CentOS 7运维管理笔记(7)----Apache 基于端口的虚拟主机配置

    如果一台服务器只有一个IP或需要通过不同的端口访问不同的虚拟主机,可以使用基于端口的虚拟主机配置. (1) 在虚拟机的CentOS7服务器上配置 eth0:4 为192.168.1.214: (2) ...

  3. CentOS 7运维管理笔记(9)----Apache 安全控制与认证

    Apache 提供了多种安全控制手段,包括设置Web访问控制.用户登陆密码认证及 .htaccess 文件等.通过这些技术手段,可以进一步提升Apache服务器的安全级别,减少服务器受攻击或数据被窃取 ...

  4. CentOS 7运维管理笔记(5)----源代码安装Apache 2.4,搭建LAMP服务器

    ##########################    2016-07-07-Thu--20:34 补充 ##################### 编译安装OpenSSL笔记: 如果系统要使用 ...

  5. CentOS 7运维管理笔记(4)----安装ftp服务器

    在CentOS 7下安装ftp服务器,可以使局域网内的主机拥有共享文件的一个站点. 在Linux系统下,vsftp是一款应用比较广泛的FTP软件,其特点是小巧轻快,安全易用.目前在开源操作系统中常用的 ...

  6. apache基于端口的虚拟主机配置

    主机ip: 192.168.7.51 Centos6.5 三个目录/usr/ftp/test/usr/ftp/dev/usr/ftp/demo 实现效果192.168.7.51:8052访问/usr/ ...

  7. CentOS 7运维管理笔记(11)----PHP安装与配置

    PHP的安装同样需要经过环境检查.编译和安装3个步骤. 1.首先用百度搜索 “PHP:Downloads”, 点击第一个网页: 选择5.5.37版本,选择 .tar.gz 格式的文件: 来到镜像列表网 ...

  8. CentOS 7运维管理笔记(12)----PHP页面失去焦点后变成空白的解决方法

    昨天搭建好了LAMP服务器,可以正常看到PHP页面了.后来发现每当把鼠标从浏览器中移开而点击其他地方时,PHP页面就变成一片空白.即PHP页面失去焦点后就变空白,不知为何. 今天网上搜索解决方案,终于 ...

  9. CentOS 7运维管理笔记(10)----MySQL源码安装

    MySQL可以支持多种平台,如Windows,UNIX,FreeBSD或其他Linux系统.本篇随笔记录在CentOS 7 上使用源码安装MySQL的过程. 1.下载源码 选择使用北理工的镜像文件: ...

随机推荐

  1. JavaScript的深拷贝和浅拷贝

    一.数据类型 数据分为基本数据类型(String, Number, Boolean, Null, Undefined,Symbol)和对象数据类型.. 1.基本数据类型的特点:直接存储在栈(stack ...

  2. BZOJ 2457 双端队列

           Sherry 现在碰到了一个棘手的问题,有N个整数需要排序.        Sherry 手头能用的工具就是若干个双端队列.        她需要依次处理这 N 个数,对于每个数, Sh ...

  3. c#中的引用类型和值类型

    一,c#中的值类型和引用类型 众所周知在c#中有两种基本类型,它们分别是值类型和引用类型:而每种类型都可以细分为如下类型: 什么是值类型和引用类型 什么是值类型: 进一步研究文档,你会发现所有的结构都 ...

  4. 2.7 Go channel

    channel简单示例 package main import ( "fmt" "time" ) //channel的创建,发送,接收 func channe1 ...

  5. spark第八篇:与Phoenix整合

    spark sql可以与hbase交互,比如说通过jdbc,但是实际使用时,一般是利用phoenix操作hbase.此时,需要在项目中引入phoenix-core-4.10.0-HBase-1.2.j ...

  6. jQuery练习 | 复选框及编辑模式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  7. Asp.net MVC中repository和service的区别

    在Asp.net MVC controller的底层,常常有提到repository和service layer, 好像都是逻辑相关的层,那么它们到底是什么区别呢? 简单的说: repository就 ...

  8. 如何制作高水平简历?&& 制作简历时需要注意的问题

    1. 投递简历时一定要署名.  无论是简历的名称还是投递到邮箱时的名称,都需要说明重要信息,即 姓名-职位-学校-专业 . 这样,hr在筛选.录入简历时可以很方便查找简历,这样也可以给hr.面试官一个 ...

  9. PHP如何判断对象为空的方法分享

    1.网上很多方法分享说用empty()方法判断对象是否为空.empty()的方法介绍:格式:bool empty ( mixed var )功能:检查一个变量是否为空返回值:若变量不存在则返回 TRU ...

  10. 案例25-servlet的抽取

    1 product模块的抽取版本一 1 ProductServlet代码 抽取之后,原来对应的IndexServlet,ProductListByCidServlet等都可以删除.对应的web.xml ...