Apache服务(基于IP地址,主机名,端口号)
安装Apache服务程序
需要注意apache服务程序的软件包名称叫做httpd,因此直接执行yum install apache则是错误的。
[root@liuxuanke-hbza ~]# yum install httpd*
使用Vim编辑器创建Yum仓库的配置文件:
[root@liuxuanke-hbza ~]# vim /etc/yum.repos.d/rhel7.repo
[rhel7]
name=rhel7
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
运行Apache服务程序并设置为开机启动
启动Apache服务程序:
[root@liuxuanke-hbza ~]# systemctl start httpd
设置为开机自启动:
[root@liuxuanke-hbza ~]# systemctl enable httpd
基于IP地址
一台服务器拥有多个IP地址,当用户访问不同IP地址时显示不同的网站页面。
1、使用nmtui命令为网卡添加多个IP地址(192.168.10.100/110/120):
重新启动网卡设备后使用ping命令检查是否配置正确(这项很重要,一定要测试好再进行下一步!)
2、分别创建网站数据目录
在/home/wwwroot目录下分别创建三个网站数据目录:
[root@liuxuanke-hbza ~]# mkdir -p /home/wwwroot/100
[root@liuxuanke-hbza ~]# mkdir -p /home/wwwroot/110
[root@liuxuanke-hbza ~]# mkdir -p /home/wwwroot/120
分别在这三个网站数据目录中写入主页文件,内容为该网站的IP地址:
[root@liuxuanke-hbza ~]# echo "IP:192.168.10.100" > /home/wwwroot/100/index.html
[root@liuxuanke-hbza ~]# echo "IP:192.168.10.110" > /home/wwwroot/110/index.html
[root@liuxuanke-hbza ~]# echo "IP:192.168.10.120" > /home/wwwroot/120/index.html
3、在配置文件(/etc/httpd/conf/httpd.conf)中描述基于主机名称的虚拟主机
4、修改网站数据目录的SELinux安全上下文
立即恢复SELinux安全上下文:
[root@liuxuanke-hbza ~]# restorecon -Rv /home/wwwroot
重启服务
[root@liuxuanke-hbza ~]# systemctl restart httpd
分别访问一下,验证结果
完成本次实验之后请还原虚拟机在进行以下实验
基于主机名
当服务器无法为每个网站都分配到独立IP地址时,可以试试让Apache服务程序自动识别来源主机名或域名然后跳转到指定的网站。
1、配置网卡IP地址与hosts文件
hosts文件作用是定义IP地址与主机名的映射关系,即强制将某个主机名地址解析到指定的IP地址
[root@liuxuanke-hbza ~]# vim /etc/hosts
//每行只能写一条,格式为IP地址+空格+主机名(域名)。
192.168.10.100 www.centos.com
192.168.10.100 bbs.centos.com
192.168.10.100 tech.centos.com
2、分别创建网站数据目录
[root@liuxuanke-hbza ~]# mkdir -p /home/wwwroot/www
[root@liuxuanke-hbza ~]# mkdir -p /home/wwwroot/bbs
[root@liuxuanke-hbza ~]# mkdir -p /home/wwwroot/tech
分别在网站目录中写入不同的首页文件:
[root@liuxuanke-hbza ~]# echo "www.centos.com" > /home/wwwroot/www/index.html
[root@liuxuanke-hbza ~]# echo "bbs.centos.com" > /home/wwwroot/bbs/index.html
[root@liuxuanke-hbza ~]# echo "tech.centos.com" > /home/wwwroot/tech/index.html
3、在配置文件中描述基于主机名称的虚拟主机
<VirtualHost 192.168.10.100>
DocumentRoot "/home/wwwroot/www"
ServerName "www.centos.com"
<Directory "/home/wwwroot/www">
AllowOverride None
Require all granted
</directory>
</VirtualHost>
<VirtualHost 192.168.10.100>
DocumentRoot "/home/wwwroot/bbs"
ServerName "bbs.centos.com"
<Directory "/home/wwwroot/bbs">
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.10.100>
DocumentRoot "/home/wwwroot/tech"
ServerName "tech.centos.com"
<Directory "/home/wwwroot/tech">
AllowOverride None
Require all granted
</directory>
</VirtualHost>
重启服务
[root@liuxuanke-hbza ~]# systemctl restart httpd
设置为开机自启动:
[root@liuxuanke-hbza ~]# systemctl enable httpd
5、分别访问网站验证结果
请注意还原虚拟机快照再进行下一个实验,否则可能导致配置文件冲突而报错。
基于端口号
我们可以让服务器开启多个服务端口后,然后让用户能够通过访问服务器的指定端口来找到想要的网站。
1、配置服务器的IP地址
2、分别创建网站数据目录
分别创建端口为6111,6222的网站数据目录:
[root@liuxuanke-hbza ~]# mkdir -p /home/wwwroot/6111
[root@liuxuanke-hbza ~]# mkdir -p /home/wwwroot/6222
分别在网站数据目录中写入不同内容的主页文件:
[root@liuxuanke-hbza ~]# echo "port:6111" > /home/wwwroot/6111/index.html
[root@liuxuanke-hbza ~]# echo "port:6222" > /home/wwwroot/6222/index.html
3、在配置文件中描述基于端口号的虚拟主机
编辑主配置文件(/etc/httpd/conf/httpd.conf),找到约在42行的Listen 80,并在下面追加:
Listen 6111
Listen 6222
然后在主配置文件的末尾按下面格式定义虚拟主机信息:
<VirtualHost 192.168.10.10:6111>
DocumentRoot ''/home/wwwroot/6111"
ServerName www.linuxprobe.com
<Directory "/home/wwwroot/6111''>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.10.10:6222>
DocumentRoot "/home/wwwroot/6222"
ServerName bbs.linuxprobe.com
<Directory "/home/wwwroot/6222">
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
修改完后,记得重启服务
出现了错误这是因为SELinux服务检测到6111与6222端口原本并不属于Apache服务端口,但现在却被以Apache的名义监听了
4、修改网站数据目录的SELinux安全上下文并允许端口监听
让新的SElinux安全上下文立即生效:
[root@liuxuanke-hbza ~]# restorecon -Rv /home/wwwroot/
使用semanage命令搜索在SELinux系统中有关http服务的端口号:
[root@liuxuanke-hbza ~]# semanage port -l| grep http
默认的端口号中没有6111 、6222,所以需要添加
[root@liuxuanke-hbza ~]# semanage port -a -t http_port_t -p tcp 6111
[root@liuxuanke-hbza ~]# semanage port -a -t http_port_t -p tcp 6222
再来看下SELinux的端口规则(已经添加成功了):
再尝试启动服务程序就没有问题了 systemctl restart httpd
5、分别访问网站查看验证结果
Apache服务(基于IP地址,主机名,端口号)的更多相关文章
- Apache(基于IP地址)
1.Apache的安装 (1)先用命令“cat /etc/passwd|grep apache”,查看有有没有Apache ①如果有Apache,我们就不用再安装 ②如果没有,我们就安装一下 (2)使 ...
- Linux下设置ip和主机名进行绑定
1:输入命令gedit /etc/hosts 这样你就打开了一个文本,然后在文本的末尾进行加入例如以下: ip地址 主机名 192.168.0.125 h ...
- Apache的虚拟主机功能(基于IP地址、基于虚拟主机、基于端口)
1. 安装Apache服务程序(系统用户,1-199之间) 第一步:在虚拟机软件里选中光盘镜像: 第二步:将光盘设备挂载到/media/cdrom目录 输入:mkdir -p /media/cdrom ...
- 使用Apache服务部署网站(基于IP,域名,端口)
本篇主要学习Apache网站服务程序的基本部署,基于IP地址.主机名(域名).端口号的虚拟主机功能. 1.基于IP地址 首先我们需要在虚拟机中线安装Apache服务程序,Apache服务程序的软件包名 ...
- nginx篇最初级用法之三种虚拟主机基于域名\基于端口\基于IP地址端口的虚拟主机
在nginx中虚拟主机的类型与apache一样也有三种 1.基于域名的虚拟主机 2.基于端口的虚拟主机 3.基于IP地址端口的虚拟主机 在nginx配置文件中每一个server为一个虚拟主机如果需要多 ...
- 根据IP查主机名和MAC地址
根据IP查主机名: nbtstat -a XXX.XXX.XXX.XXX根据IP查MAC地址: arp -a XXX.XXX.XXX.XXXXXX.XXX.XXX.XXX指代要查的主机的IP
- iptables只允许指定ip地址访问指定端口
首先,清除所有预设置 iptables -F#清除预设表filter中的所有规则链的规则 iptables -X#清除预设表filter中使用者自定链中的规则 其次,设置只允许指定ip地址访问指定端口 ...
- linux下通过iptables只允许指定ip地址访问指定端口的设置方法
这篇文章主要介绍了linux下通过iptables只允许指定ip地址访问指定端口的设置方法,需要的朋友可以参考下. 首先,清除所有预设置 iptables -F#清除预设表filter中的所有规则链的 ...
- 扫描局域网内的ip和主机名
1. 目的 今天发现我配置的一台电脑ip被人占用了,所以准备写个程序扫描一下局域网内所有正在使用的ip和主机名 2. 实现--直接上代码 import time import threading im ...
随机推荐
- RAC heartbeat 心跳机制
世界上最遥远的距离,不是生与死.而是我们同一个集群的两个节点,你却听不到我的心跳. 必要性:维持集群的⼀致性RAC⼼跳机制 – 集群⼼跳基本机制:1.确定节点和节点间的连通性,达到彼此了解2.⽤共享的 ...
- wepy-wxss报错
慢慢积攒下wepy 的一些BUG吧 1.页面在page目录下明明删除了某个子页面文件,打开wepy却一直报错!wxml报错或者wxss报错,提示的页面我为了排错都直接delete掉了,还是报错???思 ...
- Eclipse Debug模式的开启与关闭问题简析_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 默认情况下,eclipse中右键debug,当运行到设置的断点时会自动跳到debug模式下.但由于我的eclipse环境 ...
- [window] 使用Pyhton轻便好用的spyder IDE进行代码分析时如何指定相关的配置文件
spyder 使用pylint这个第三方库进行代码检查,其实pylint使用的代码规范默认也是pep8,不过该库还有 其它用途,在这里我专门写写在代码分析时,如何指定配置文件 一般来说,使用spyde ...
- C#删除文件夹的文件
using System.IO; //判断文件是不是存在if(File.Exists(@"文件路径")){//如果存在则删除File.Delete(@"文件路径" ...
- PHPExcel组件编程spl_autoload_register
E:\html\tproject\framework\modules\common\vendor\PHPExcel\Classes\PHPExcel.php <?php /** PHPExcel ...
- 【BZOJ5092】分割序列(高维前缀和)
题意:对于一个长度为n的非负整数序列b_1,b_2,...,b_n, 定义这个序列的能量为:f(b)=max{i=0,1,...,n}((b_1 xor b_2 xor...xor b_i)+(b_{ ...
- 2014ACM-ICPC广州站题解(摘自闭幕式)
第39届ACM-ICPC亚洲区广州站题解 Ltysky摘抄自闭幕式题目分析 Problem A 满足px+qy=c的点(x,y)在一条直线上,而c的值由直线的截距确定,所以最大化c,就要在糖果(x,y ...
- es的调优
3.1.分片查询方式 当前的图片中有5个主分片,5个副本:这对于es的集群来说,这种配置是非常常见的: 但是问题来了,当我们的客户端做查询的时候,程序会向主分片发送请求还是副本发送请求? 还是说直接去 ...
- 测试markdorn
专业主义 描述:这本书着重阐释了真正的专家必须具备的四种能力:**先见能力**.构思能力.讨论的能力.适应矛盾的能力,以丰富的案例和深刻的洞见警示人们重新思考专业的内涵与效用,培养并吸纳专业人才. 状 ...