目录

  • 准备工作
  • http服务器各个配置文件大概说明
  • 实验1:访问不同ip获得不同网页
  • 实验2:同一ip访问不同端口获得不同网页

准备工作

1,安装http服务
2,将 /etc/selinux/config 文件下面的 SELINUX值改为 disabled 或者 permissive
3,关闭防火墙 systemctl stop firewalld
做上面的工作是为了http在提供服务时让其不会阻止读取一些文件。

http服务器各个配置文件大概说明

/etc/httpd/ 里面是http的主要的配置文件
tree /etc/httpd/ 可以看到这个文件的结构一目了然

/etc/httpd/conf/httpd.conf 文件里面是主要配置文件,conf.d文件里面所有的.conf文件都会被加载。

/etc/httpd/conf/httpd.conf 里面的 DocumentRoot 是用户访问时的主目录
welcome.conf文件是默认的index.html文件的所在

实验1:访问不同ip获得不同网页

要求:
1,该网站ip地址的主机位为100,设置DocumentRoot为/www/ip/100,网页内容为:100。,
2、该网站ip地址主机位为200,设置DocumentRoot为/www/ip/200,网页内容为:200。

开始:
1,根据查看自己本机地址可以创建2个ip地址:

nmcli c modify ens160 +ipv4.addresses 192.168.107.100/24 ipv4.method manual
nmcli c modify ens160 +ipv4.addresses 192.168.107.200/24 ipv4.method

2, 创建DocumentRoot文件和写入网页内容

mkdir /www/ip/{100,200} -p   递归创建文件
echo 100 > /www/ip/100/index.html    写入对应的内容
echo 200 > /www/ip/200/index.html

3,写配置文件
自己写的配置文件在 conf.d 里面,必须要为 .conf 结尾才能加载
自己写的配置文件参考示例文档为:/usr/share/doc/httpd/httpd-vhosts.conf

如何知道示例文档在哪里?
一般示例文档是有 doc 标志的,可以通过grep过滤

[root@localhost conf.d]# touch 100.conf   创建名字为 100.conf 的自定义配置文件
[root@localhost conf.d]# touch 200.conf [root@localhost conf.d]# vim 100.conf    参考示例文件编辑这个文件,写入下面内容
<VirtualHost 192.168.107.100:80>#ServerAdmin webmaster@dummy-host.example.com   现在阶段不需要写DocumentRoot "/www/ip/100"     用户访问的主文件ServerName 192.168.107.100  必须写#ServerAlias www.dummy-host.example.com    服务器别名ErrorLog "/var/log/httpd/100.com-error_log"     错误日志文件,也可以不要CustomLog "/var/log/httpd/200.com-access_log" common
</VirtualHost>
<Directory /www/ip/100>    给 /www/ip/100 目录赋予权限,不写服务器就读取不到该文件下的AllowOverride noneRequire all granted
</Directory>
[root@localhost conf.d]# vim 200.conf     与上面 操作相似,将ip100 换成200 即可,如下
<VirtualHost 192.168.107.200:80>#ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/www/ip/200"ServerName 192.168.107.200#ServerAlias www.dummy-host.example.comErrorLog "/var/log/httpd/200.com-error_log"CustomLog "/var/log/httpd/200.com-access_log" common
</VirtualHost><Directory /www/ip/200>AllowOverride noneRequire all granted
</Directory>

4, 最后重新启动一下http服务并且访问

[root@localhost conf.d]# systemctl restart httpd

可以看到访问成功(也可以在浏览器里面访问)

实验2:同一ip访问不同端口获得不同网页

要求:
1、建立一个使用10000端口的网站,设置DocumentRoot为/www/port/10000,网页内容为:the port is 10000。默认为80端口,网页内容为100

开始:与上面实验基本差不多
1 创建一个 DocumentRoot 文件

[root@localhost conf.d]# mkdir /www/port/10000 -p
[root@localhost port]# echo 10000 > 10000/index.html
[root@localhost conf.d]# vim 100.conf   再次编辑这个文件,输入以下内容
<VirtualHost 192.168.107.100:10000>   #ServerAdmin webmaster@dummy-host.example.comDocumentRoot "/www/port/10000"ServerName 192.168.107.100#ServerAlias www.dummy-host.example.comErrorLog "/var/log/httpd/port10000.com-error_log"CustomLog "/var/log/httpd/port10000.com-access_log" common
</VirtualHost><Directory /www/port>   给这个文件赋予权限AllowOverride noneRequire all granted
</Directory>

2,建立监听端口
因为默认是监听的80端口,所以需要手动添加端口10000
可以在/etc/httpd/conf/httpd.conf 编辑或者在conf.d 文件中编辑,这里在主配置文件中写监听端口

[root@localhost conf.d]# vim /etc/httpd/conf/httpd.conf   进入文件在Listen 80位置写上如下
Listen 10000

2,最后重新启动http服务

[root@localhost httpd]# systemctl restart httpd

再访问不同的端口可以看到请求到了不同的页面

linux:http服务器搭建及实验案例相关推荐

  1. AAA服务器搭建与实验案例

    一.AAA 简介 AAA是Authentication,Authorization and Accounting(认证.授权和计费)的简称,它提供了一个对认证.授权和计费这三种安全功能进行配置的一致性 ...

  2. Linux邮件服务器搭建实验

    Linux邮件服务器搭建实验 前言 本文重点在于后面的搭建过程,前面会简单介绍邮件服务原理与工作流程,如果有什么错误或遗漏的地方,欢迎大家指正批评,谢谢. 基本理论说明 电子邮件服务器是处理邮件交换的 ...

  3. LINUX NTP 服务器搭建

    LINUX NTP 服务器搭建 ╮(╯▽╰)╭ , 这一生让我感到悲剧,关于LINUX NTP 服务器搭建,网上的资料太多了,但是有几个能详细的说明一下ntp.conf 文件呢,几乎都是千篇一律,同样 ...

  4. 腾讯云Linux云服务器搭建网站

    腾讯云Linux云服务器搭建网站 基本准备及操作 这里的安装过程使用系统自带的yum工具进行安装 安装jdk和java运行环境 安装mysql 安装tomcat 安装httpd服务 部署web项目到服 ...

  5. 僵尸毁灭工程Linux云服务器搭建(个人留档)

    僵尸毁灭工程Linux云服务器搭建(个人留档) 参考: https://note.youdao.com/ynoteshare1/index.html?id=fe65179d613ebedb058b27 ...

  6. linux NTP服务器搭建

    1. NTP简介 NTP(Network Time Protocol 网络时间协议)是一个用于同步计算机时钟的网络协议.它可以使计算机与其他服务器或时钟源进行时间同步,进行高精度的时间校正. 简而言之 ...

  7. Linux云服务器搭建宝塔面板零基础教程

    下面稍微介绍一下如何使用阿里云服务器安装宝塔面板. 概述 如果还有不了解宝塔面板怎么使用的小伙伴,可以看下前文: 宝塔面板教程(1)基于云服务器搭建宝塔面板教程最全详解 宝塔面板教程(2)宝塔面板添加 ...

  8. 逆水linux决服务器搭建教程,饥荒联机独立服务器搭建教程(二):Linux篇

    之前介绍了在 Windows 下搭建洞穴服务器的方法,详情见传送门.这里,向大家介绍 Linux (CentOS)上的搭建方法. 饥荒 先为大家提个醒,顺便当作 Linux 平台的一些特性,若发现没有 ...

  9. 基于Linux的服务器搭建

    摘 要 Linux操作系统搭建服务器,Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户.多任务.支持多线程和多CPU的操作系统.伴随着互联网的发展,Linux得到了 ...

最新文章

  1. 模型剪枝(Pruning)
  2. java BlockingQueue 用法
  3. NHibernate配置入门
  4. 【模拟】Biotech
  5. java 双向链表_23张图!万字详解「链表」,从小白到大佬
  6. B端产品经理如何更好的了解需求?
  7. 《Thinking in java》 读了个开头
  8. Python使用系统聚类算法对随机元素进行分类
  9. C#访问和操作MYSQL数据库
  10. Mimikatz 攻防杂谈
  11. 事后诸葛亮分析(小小大佬带飞队)
  12. FPGA学习笔记(七): DSB调制解调的仿真
  13. golang Time JSON格式化问题
  14. BERT代码的解读1---数据处理部分
  15. 清除node_modules 缓存
  16. python中jieba库的安装
  17. java 容器都有哪些?
  18. python基于SVM的疫情评论情感数据分析
  19. 认知空间是什么意思_为什么很多女生都是“路痴”| 男女的空间认知有什么差异...
  20. Redis:事件与事务

热门文章

  1. 使用lindo进行灵敏度分析
  2. 杰理之SRRC认证【篇】
  3. 从红孩子到贝备网 母婴网购市场的转变
  4. RGB565调色板Ver1.0.0
  5. 数字家庭五大网络应用方案全解析
  6. 在canvas中应用font-awesome字体
  7. 编译原理【词法分析】—LR(0)、SLR(1)、LR(1)、LALR(1)文法之间的关系
  8. 【蓝桥杯】历届试题 青蛙跳杯子(广度优先搜索bfs)(C++)
  9. 开发者如何赶上 5G 风口?
  10. 断点回归RDD:样本少时如何做?