【Centos7.4版本】

!!!测试环境我们首关闭防火墙和selinux

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@localhost ~]# setenforce 0

一、配置多IP地址Web服务

1、首先先看一下本地网卡的信息

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cat ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=10.0.0.129 //我本机主网卡P地址
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=e4b11756-1775-4b6a-adbf-95f3f24f941e
DEVICE=ens32
ONBOOT=yes

2、我们使用ens32网卡作为主网卡,然后复制一个子网卡ens32:2(子网卡冒号后面的数字代表子网卡的编号,可任意取)

[root@localhost network-scripts]# cp ifcfg-ens32 ifcfg-ens32:2

3、编辑子网卡的配置信息

[root@localhost network-scripts]# vim ifcfg-ens32:2
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=10.0.0.22 //改与主网卡同网段的其他地址信息(但不能使用该网段的三个不难使用的IP)
NETMASK=255.255.255.0
GATEWAY=10.0.0.2      //我的虚拟机NAT网卡的网关默认的是10.0.0.2
DNS1=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32:2            //名字可改也可以不改,影响不大
UUID=e4b11756-1775-4b6a-adbf-95f3f24f941e
DEVICE=ens32:2          //块设备的名字必须改成子网卡的名字
ONBOOT=yes

4、重启网络服务,查看网卡配置信息

[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ifconfig
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.129 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::fe04:212a:5e53:cec4 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b3:89:a5 txqueuelen 1000 (Ethernet)
RX packets 23547 bytes 29611303 (28.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5069 bytes 654850 (639.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens32:2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.22 netmask 255.255.255.0 broadcast 10.0.0.255
ether 00:0c:29:b3:89:a5 txqueuelen 1000 (Ethernet) lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 152 bytes 13128 (12.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 152 bytes 13128 (12.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

5、使用YUM安装HTTP服务

[root@localhost ~]# yum install -y httpd

6、启动http服务,设置开机自启

[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service

7、查看http监听端口是否开启(监听端口没开的话,后面就访问不了主机信息)

[root@localhost ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1005/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1387/master
tcp6 0 0 :::80 :::* LISTEN 14164/httpd
tcp6 0 0 :::22 :::* LISTEN 1005/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1387/master
udp 0 0 0.0.0.0:68 0.0.0.0:* 10151/dhclient
udp 0 0 0.0.0.0:15648 0.0.0.0:* 10151/dhclient
udp 0 0 127.0.0.1:323 0.0.0.0:* 722/chronyd
udp6 0 0 :::23051 :::* 10151/dhclient
udp6 0 0 ::1:323 :::* 722/chronyd

8、要编辑多IP的虚拟主机,首先看看配置模板

[root@localhost ~]# rpm -qa | grep http
httpd-tools-2.4.6-93.el7.centos.x86_64
httpd-2.4.6-93.el7.centos.x86_64
[root@localhost ~]# vim /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf
............ //上面的我省略了
<VirtualHost *:@@Port@@>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "@@ServerRoot@@/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "/var/log/httpd/dummy-host.example.com-error_log"
CustomLog "/var/log/httpd/dummy-host.example.com-access_log" common
</VirtualHost> <VirtualHost *:@@Port@@>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "@@ServerRoot@@/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "/var/log/httpd/dummy-host2.example.com-error_log"
CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" common
</VirtualHost>
//上面的最后内容就是虚拟主机的配置模板

9、创建每个IP对应的主目录,并写入测试信息

[root@localhost ~]# mkdir /var/www/test1
[root@localhost ~]# mkdir /var/www/test2
[root@localhost ~]# echo '<h1>This host port is 10.0.0.129</h1>' > /var/www/test1/index.html
[root@localhost ~]# echo '<h1>This host port is 10.0.0.22</h1>' > /var/www/test2/index.html

10、编辑http主配置文件,编辑两个<VirtualHost>内容

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
.......... //上面的内容我省略了
<VirtualHost 10.0.0.129:80>
documentroot "/var/www/test1/"
ErrorLog     "/var/log/httpd/10.0.0.129-error_log"
CustomLog    "/var/log/httpd/10.0.0.129-access_log" common
</VirtualHost> <VirtualHost 10.0.0.22:80>
documentroot "/var/www/test2/"
errorlog "/var/log/httpd/10.0.0.22-error_log"
CustomLog    "/var/log/httpd/10.0.0.22-access_log" common
</VirtualHost>
//上面的就是需要添加的虚拟主机配置信息

11、重启httpd服务

[root@localhost ~]# systemctl restart httpd

12、在浏览地址栏分别输入两个IP地址:10.0.0.129和10.0.0.22

基于多IP地址Web服务的更多相关文章

  1. 基于多主机的Web服务

    [Centos7.4版本] !!!测试环境我们首关闭防火墙和selinux [root@localhost ~]# systemctl stop firewalld [root@localhost ~ ...

  2. 如何快速搭建一个基于ServiceStack框架的web服务

    ServiceStack是一个高性能的.NET Web Service 平台,能够简化开发高性能的REST (支持JSON,XML,JSV,HTML,MsgPack,ProtoBuf,CSV等消息格式 ...

  3. Python flask 基于 Flask 提供 RESTful Web 服务

    转载自 http://python.jobbole.com/87118/ 什么是 REST REST 全称是 Representational State Transfer,翻译成中文是『表现层状态转 ...

  4. 基于多端口的Web服务

    [Centos7.4版本] !!!测试环境我们首关闭防火墙和selinux [root@localhost ~]# systemctl stop firewalld [root@localhost ~ ...

  5. Spring Cloud Eureka 使用 IP 地址进行服务注册

    默认情况下,Eureka 使用 hostname 进行服务注册,以及服务信息的显示,那如果我们使用 IP 地址的方式,该如何配置呢?答案就是eureka.instance.prefer-ip-addr ...

  6. 基于IIS构建Pyathon Web服务

    本文简单叙述了在Windows下,如何利用IIS构建Python Web服务. 其主要步骤如下: 1.在IIS下构建一个站点,如图: 2.配置Python文件的处理程序,如图: 3.最后,在对应站点根 ...

  7. Web服务器之Nginx详解(理论部分)

    大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O ...

  8. 【转】Web服务器之Nginx详解(理论部分)

    大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O ...

  9. Web 服务编程,REST 与 SOAP(转)

    原文地址:Web 服务编程,REST 与 SOAP REST 简介 在开始我们的正式讨论之前,让我们简单看一下 REST 的定义. REST(Representational State Transf ...

随机推荐

  1. 问题笔记-vueCli3.0打包路径出错

    需求:vueCli3.0打包路径出错.解决办法:vueCli3.0打包,新版本更新脚手架做出精简,webpack配置文件需要手动配置.在文件根目录创建一个vue.config.js配置文件.基本版: ...

  2. [Fundamental of Power Electronics]-PART I-6.变换器电路-6.2 变换器简单罗列

    6.2 变换器简单罗列 变换器的数量可能有无穷种,因此将其全部列出是不可能的.这里给出了一个简单的罗列清单. 首先考虑含单个电感的单输入单输出变换器的类别.可以在电源和负载之间进行连接电感的方法数量是 ...

  3. 【Git基本命令】

    [基本指令] git init :使目标文件夹变成一个仓库 git add <文件名,含后缀> : 告诉git我要添加文件了 git commit -m "<提交说明> ...

  4. Spring Boot 接口幂等插件使用

    幂等概述 幂等性原本是数学上的概念,即使公式:f(x)=f(f(x)) 能够成立的数学性质.用在编程领域,则意为对同一个系统,使用同样的条件,一次请求和重复的多次请求对系统资源的影响是一致的. 幂等性 ...

  5. 承接上一篇,whale系统开篇,聊聊用户认证

    写在前面 上次老猫和大家说过想要开发一个系统,从简单的权限开始做起,有的网友表示还是挺支持的,但是有的网友嗤之以鼻,认为太简单了,不过也没事,简单归简单,主要的还是个人技术的一个整合和实战. 没错,系 ...

  6. 网络编程Netty入门:Netty的启动过程分析

    目录 Netty的启动过程 Bootstrap 服务端的启动 客户端的启动 TCP粘包.拆包 图示 简单的例子 Netty编解码框架 Netty解码器 ByteToMessageDecoder实现类 ...

  7. matlab通用命令

    常用命令 命令 命令说明 cd 显示或改变当前文件夹 dir 显示当前文件夹或指定目录下的文件 clc 清除工作窗中的所有显示内容 home 将光标移至命令行窗口的最左上角 clf 清除图形窗口 ty ...

  8. Unity基础-脚本生命周期

    理解Unity脚本的生命周期对游戏开发很重要,这篇文章对生命周期做一个记录和总结.Unity的脚本生命周期(消息),也就是在脚本运行时,自动并且按顺序执行的一系列函数.在unity官网中有对生命周期详 ...

  9. 【并发编程】线程池是否需要手动关闭吗?以Hutool中的线程池为例

    Hutool工具包中使用线程池的API是: ThreadUtil.execute() /** * 直接在公共线程池中执行线程 * * @param runnable 可运行对象 */ public s ...

  10. 解决Metasploit中shell乱码的问题

    我们在kali中用 Metasploit 获取到windows主机的shell后,会出现乱码问题,归根到底,就是windows和linux系统的中文编码不同,所以导致windows系统上的中文在lin ...