基于多IP地址Web服务
【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服务的更多相关文章
- 基于多主机的Web服务
[Centos7.4版本] !!!测试环境我们首关闭防火墙和selinux [root@localhost ~]# systemctl stop firewalld [root@localhost ~ ...
- 如何快速搭建一个基于ServiceStack框架的web服务
ServiceStack是一个高性能的.NET Web Service 平台,能够简化开发高性能的REST (支持JSON,XML,JSV,HTML,MsgPack,ProtoBuf,CSV等消息格式 ...
- Python flask 基于 Flask 提供 RESTful Web 服务
转载自 http://python.jobbole.com/87118/ 什么是 REST REST 全称是 Representational State Transfer,翻译成中文是『表现层状态转 ...
- 基于多端口的Web服务
[Centos7.4版本] !!!测试环境我们首关闭防火墙和selinux [root@localhost ~]# systemctl stop firewalld [root@localhost ~ ...
- Spring Cloud Eureka 使用 IP 地址进行服务注册
默认情况下,Eureka 使用 hostname 进行服务注册,以及服务信息的显示,那如果我们使用 IP 地址的方式,该如何配置呢?答案就是eureka.instance.prefer-ip-addr ...
- 基于IIS构建Pyathon Web服务
本文简单叙述了在Windows下,如何利用IIS构建Python Web服务. 其主要步骤如下: 1.在IIS下构建一个站点,如图: 2.配置Python文件的处理程序,如图: 3.最后,在对应站点根 ...
- Web服务器之Nginx详解(理论部分)
大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O ...
- 【转】Web服务器之Nginx详解(理论部分)
大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O ...
- Web 服务编程,REST 与 SOAP(转)
原文地址:Web 服务编程,REST 与 SOAP REST 简介 在开始我们的正式讨论之前,让我们简单看一下 REST 的定义. REST(Representational State Transf ...
随机推荐
- python基础(一):变量和常量
变量 什么是变量 变量,用于在内存中存放程序数据的容器.计算机的核心功能就是"计算",CPU是负责计算的,而计算需要数据吧?数据就存放在内存里,例如:将梁同学的姓名,年龄存下来,让 ...
- PAT B1039/A1092 到底买不买项链
小红买些珠子做项链,但是卖家不肯拆散了卖,于是帮忙判断一下,某串珠子是否全部包含自己想要的珠子,如果是告诉她有多少多余的珠子,如果不是,又缺了那些珠子现在为了方便起见用"0-9"& ...
- 如何写好一个 Spring 组件
背景 Spring 框架提供了许多接口,可以使用这些接口来定制化 bean ,而非简单的 getter/setter 或者构造器注入.细翻 Spring Cloud Netflix.Spring Cl ...
- kali,创建/修改root密码,进入单元模式
第一次发博客,从入门开始,从爱好变为工作 本人学习渗透不到一个月,如果有大佬看到此文章请不要喷,毕竟萌新不懂事,哈哈~ kali是一种非常强大的渗透工具 先说一下kali中的三个符号把 ~ ...
- Day13_66_sleep()方法 (二)
sleep()方法 (二) * 因为sleep()是静态方法,所以用 线程对象名.sleep() 和 Thread.sleep()是一样的意思,用线程对象名调用并不等于让线程对象名所指向的线程阻塞,而 ...
- 14.Quick QML-TextInput详解
1.TextInput属性用来编辑一行文本,对应QLineEdit,除了正常输入外,我们还可以设置echoMode属性改为密码显示状态,也可以通过validator属性和inputMask属性来设置验 ...
- .NET Core - 自定义项目模板
前言: 前面介绍 自定义项目模板 中介绍了一种简单的方式--通过创建项目导出为项目模板方式实现.本次将采用dotenet cil(手脚架)来创建项目模板. 那么,我们首先看下当前dotnet 支持的项 ...
- 研发团队管理:IT研发中项目和产品原来区别那么大,项目级的项目是项目,产品级的项目是产品!!!
前言 从事IT行业多年,一路从小杂兵成长为大团队Leader,对于研发整个体系比较清楚,其实大多人都经历过但是都忽略了的研发成本管控的一个关键的点就是研发过程中项目级和产品级的区别. 市场基本 ...
- HIT手 | 机械电气构造简述和微分运动学及静力学的简单推导
机械结构电气构造简述 HIT手有四个手指,每个手指4个关节,其中第一和第二个关节正交,第三和第四个关节机械耦合,故只有3个自由度,另外大拇指多了一个相对手掌运动的自由度,故一只手掌总共有13各个自 ...
- 【转】如何用MTR诊断网络问题
MTR 是一个强大的网络诊断工具,管理员能够用它诊断和隔离网络错误,并向上游提供商提供有关网络状态的有用报告.MTR 通过更大的采样来跟踪路由,就像 traceroute + ping 命令的组合.本 ...