安装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地址,主机名,端口号)的更多相关文章

  1. Apache(基于IP地址)

    1.Apache的安装 (1)先用命令“cat /etc/passwd|grep apache”,查看有有没有Apache ①如果有Apache,我们就不用再安装 ②如果没有,我们就安装一下 (2)使 ...

  2. Linux下设置ip和主机名进行绑定

    1:输入命令gedit   /etc/hosts 这样你就打开了一个文本,然后在文本的末尾进行加入例如以下: ip地址                主机名 192.168.0.125       h ...

  3. Apache的虚拟主机功能(基于IP地址、基于虚拟主机、基于端口)

    1. 安装Apache服务程序(系统用户,1-199之间) 第一步:在虚拟机软件里选中光盘镜像: 第二步:将光盘设备挂载到/media/cdrom目录 输入:mkdir -p /media/cdrom ...

  4. 使用Apache服务部署网站(基于IP,域名,端口)

    本篇主要学习Apache网站服务程序的基本部署,基于IP地址.主机名(域名).端口号的虚拟主机功能. 1.基于IP地址 首先我们需要在虚拟机中线安装Apache服务程序,Apache服务程序的软件包名 ...

  5. nginx篇最初级用法之三种虚拟主机基于域名\基于端口\基于IP地址端口的虚拟主机

    在nginx中虚拟主机的类型与apache一样也有三种 1.基于域名的虚拟主机 2.基于端口的虚拟主机 3.基于IP地址端口的虚拟主机 在nginx配置文件中每一个server为一个虚拟主机如果需要多 ...

  6. 根据IP查主机名和MAC地址

    根据IP查主机名: nbtstat -a XXX.XXX.XXX.XXX根据IP查MAC地址: arp -a XXX.XXX.XXX.XXXXXX.XXX.XXX.XXX指代要查的主机的IP

  7. iptables只允许指定ip地址访问指定端口

    首先,清除所有预设置 iptables -F#清除预设表filter中的所有规则链的规则 iptables -X#清除预设表filter中使用者自定链中的规则 其次,设置只允许指定ip地址访问指定端口 ...

  8. linux下通过iptables只允许指定ip地址访问指定端口的设置方法

    这篇文章主要介绍了linux下通过iptables只允许指定ip地址访问指定端口的设置方法,需要的朋友可以参考下. 首先,清除所有预设置 iptables -F#清除预设表filter中的所有规则链的 ...

  9. 扫描局域网内的ip和主机名

    1. 目的 今天发现我配置的一台电脑ip被人占用了,所以准备写个程序扫描一下局域网内所有正在使用的ip和主机名 2. 实现--直接上代码 import time import threading im ...

随机推荐

  1. vue token 过期处理

    1.登陆成功后储存token  可以利用 vuex 储存token 2.利用路由守卫处理 router.beforeEach((to, from, next) => {   })     3.我 ...

  2. bzoj4129 Haruna’s Breakfast 树上带修莫队+分块

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4129 题解 考虑没有修改的序列上的版本应该怎么做: 弱化的题目应该是这样的: 给定一个序列,每 ...

  3. 【leetcode】1147. Longest Chunked Palindrome Decomposition

    题目如下: Return the largest possible k such that there exists a_1, a_2, ..., a_k such that: Each a_i is ...

  4. Java——常用类(Math)

    [常用方法]   这些方法为静态方法.  

  5. 【PowerOJ1752&网络流24题】运输问题(费用流)

    题意: 思路: [问题分析] 费用流问题. [建模方法] 把所有仓库看做二分图中顶点Xi,所有零售商店看做二分图中顶点Yi,建立附加源S汇T. 1.从S向每个Xi连一条容量为仓库中货物数量ai,费用为 ...

  6. 北风设计模式课程---访问者(Visitor)模式

    北风设计模式课程---访问者(Visitor)模式 一.总结 一句话总结: 设计模式是日常问题的经验总结方案,所以学好设计模式对日常出现的问题可以有很好的解决. 访问者设计模式有点神似 抽象工厂模式, ...

  7. onchange and oninput

    https://www.w3schools.com/jsref/event_oninput.asp Supported HTML tags: <input type="color&qu ...

  8. BBED ORA-00600: internal error code, arguments: [16703], [1403], [20], [], [], [], [], [], [], [], [], []

    BBED模拟并修复 删除:$ORACLE_HOME/rdbms/admin/prvtsupp.plb SQL> alter database open;alter database open*E ...

  9. Oracle12c ASMM和hugepage

    在Oracle 12c,测试发现默认并不启用AMM 特性,而是使用了ASMM.因为在X86 架构下的linux 平台中,配置hugepage时,也是需要关闭AMM,使用ASMM特性. AMM分配内存的 ...

  10. 【洛谷P1069 细胞分裂】

    题目链接 首先,光看题就觉得它很扯淡(你哪里来这么多的钱来买试管) 根据某位已经ak过ioi的名为ych的神仙说(一看就是数学题,一看就需要因式分解,emm,我果然没有发现美的眼睛qwq) 那么我们就 ...