目录

  • 准备工作
  • 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. 一些还能记住的面试题
  2. WCF技术剖析之三十:一个很有用的WCF调用编程技巧[下篇]
  3. 【Python实战】Django建站笔记
  4. Epox 8RDA3G主板奇怪的问题
  5. linux-文件类型与查看文件型
  6. 边缘计算的爆发为安防全产业带来了怎样的变化?
  7. 物主代词-mine、yours_33
  8. 机器学习——Gradient Boost Decision Tree(Treelink)
  9. Codeforces Round #553 (Div. 2) 题解
  10. 报表工具对比选型系列——打印与导出
  11. Three.js编辑器editor使用详解
  12. Speex的安装使用
  13. ln火线零线_插座怎么接LN线
  14. scrapy爬取时出现错误:Forbidden by robots.txt: <GET https://www.xinpianchang.com/channel/index/sor
  15. WPS2019 装完图片默认打开方式改了, 改成了 WPS 打开
  16. 写的一款安全期避孕计算软件 (IWOMAN女性生理周期计算) 强力推荐!
  17. PowerShell: 作为一个PowerShell菜鸟,如何快速入门?掌握这些就够了
  18. 深入浅出 RPC - 浅出篇
  19. 关于苹果手机部分版本机型上传时卡住相册问题记录
  20. 中国石油大学《社会学概论》第二次在线作业

热门文章

  1. clickhouse插入数据报错Cannot reserve 1.00 MiB, not enough space (version 20.8.3.18)
  2. Python3入门(一)
  3. topCoder Stripepainter
  4. 明黄色一代-亿唐网的没落
  5. 【云原生】K8s PSP 和 securityContext 介绍与使用
  6. Python爬虫学习笔记-第十一课(selenium下)
  7. Deepin Linux下更新nvidia独显驱动
  8. php商城毕业设计ppt,一直想用PHP写个商城。,毕业论文设计,答辩ppt,开题报告,外文翻译,苹果,硕士研究生,iphone...
  9. 关于测试软件设计过程管理的思考
  10. 航天金税金税盘批量导入项目开发