linux:http服务器搭建及实验案例
目录
- 准备工作
- 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服务器搭建及实验案例
目录准备工作http服务器各个配置文件大概说明实验1:访问不同ip获得不同网页实验2:同一ip访问不同端口获得不同网页准备工作 1,安装http服务 2,将 /etc/selinux/config 文件下面的 SELINUX值改为 disabled 或者 permissive 。 3&a…...
【无标题】智能工业安全用电监测与智慧能源解决方案
工业互联网已成为全球制造业发展的新趋势。在新基建的推动下,5G、人工智能、云计算等技术与传统工业深度融合,为实现智能制造提供了技术支撑,将有力促进制造强国早日实现。 十四五规划在新基建的基础上进一步加快了制造业转型升级的步伐&…...
前端白屏的检测方案,让你知道自己的页面白了
前言 页面白屏,绝对是让前端开发者最为胆寒的事情,特别是随着 SPA 项目的盛行,前端白屏的情况变得更为复杂且棘手起来( 这里的白屏是指页面一直处于白屏状态 ) 要是能检测到页面白屏就太棒了,开发者谁都不…...
编译原理【文法设计】—每个a后面至少一个b、ab个数相等,ab个数不相等的所有串
编译原理【文法设计】—设计每个a后面至少一个b、ab个数相等,ab个数不相等的文法为字母表Σ{a,b}Σ\{a,b\}Σ{a,b}上的下列每个语言设计一个文法 (a) 每个a后面至少有一个b的所有串 首先,每个a后面至少有一个b的正规式怎么写呢?每个a都需要…...
【死磕数据库专栏启动】在CentOS7中安装 MySQL5.7版本实战
文章目录前言实验环境一. 安装MySQL1.1 配置yum源1.2 安装之前的环境检查1.3 下载MySQL的包1.4 开始使用yum安装1.5 启动并测试二. 设置新密码并重新启动2.1 设置新密码2.2 重新登录测试总结前言 学习MySQL是一件比较枯燥的事情,学习开始之前要先安装MySQL数据库&a…...
23.2.23 22湖北省赛 B
好久没打卡了, 随便找的个水题写 这题是简单难度的 ab1 所以可以找到固定规律, 通过手动模拟可以发现 假设两种水叫做a水和b水 先倒入a水 1:0 倒入b水 1:1 此时水杯为 倒出一半的混合物, 因为ab水互溶, 比例不变 再加入a水或者b水将容器填满 比例现在变为 3:1 混合之后再…...
ONLYOFFICE中的chatGPT 是如何编写毕业论文以及翻译多种语言的
前言 chatGPT这款软件曾被多个国家的大学禁用,我们也多次在网上看到chatGPT帮助应届毕业生编写毕业答辩论文,但是这款软件目前还没有在国内正式上线,ONLYOFFICE7.3版本更新后呢,就添加了chatGPT该功能,并且正常使用。 …...
QT入门Containers之QStackedWidget
目录 一、QStackedWidget界面相关 1、布局介绍 2、插入界面 3、插入类界面 二、Demo展示 此文为作者原创,创作不易,转载请标明出处! 一、QStackedWidget界面相关 1、布局介绍 QStackedWidget这个控件在界面布局时,使用还…...
Java学习-IO流-字节缓冲流
Java学习-IO流-字节缓冲流 IO流体系↙ ↘字节流 字符流↙ ↘ ↙ ↘InputStream OutputStream Reader Writer↓ ↓ ↓ ↓ FileInputStream FileOutputStream FileRe…...
C++这么难,为什么我们还要学习C++?
前言 C 可算是一种声名在外的编程语言了。这个名声有好有坏,从好的方面讲,C 性能非常好,哪个编程语言性能好的话,总忍不住要跟 C 来单挑一下;从坏的方面讲,它是臭名昭著的复杂、难学、难用。当然ÿ…...
C#底层库--业务单据号生成器(定义规则、自动编号、流水号)
系列文章 C#底层库–MySQL数据库访问操作辅助类(推荐阅读) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/126886379 C#底层库–JSON帮助类_详细(序列化、反序列化、list、datatable) 本文链接&…...
vue3项目练习大全(附github源码)
vue慢慢的成为了前端最受欢迎的框架之一,在很多项目之中开发都能用得到,如今也已经发展到3.0了,可能是因为这个框架可以提高工作效率,因此受到大家的追捧,在之前的文章里面也说过,2019年,大前端…...
SWMM从入门到实践教程 01 SWMM软件介绍
文章目录1 软件介绍2 软件面板2.1 主菜单2.1.1文件菜单(File)2.1.2 编辑菜单(Edit)2.1.3 视图菜单(View)2.1.4 工程菜单(Project)2.1.5 报告菜单(Report)2.1.…...
CSS中的text-overflow属性详解 (控制文字在一行显示,超出部分加省略号)
text-overflow: ellipsis; 表示当文本内容超出所在容器的宽度时,用省略号来代替超出的部分。white-space:nowrap; 表示文本不换行。overflow: hidden; 表示超出容器的内容将被隐藏。 将这三个加入需要控制的css的属性中,就能控制文字在一行显示ÿ…...
基于pytorch实现模型剪枝
一,剪枝分类二,PyTorch 的剪枝三,总结参考资料一,剪枝分类 所谓模型剪枝,其实是一种从神经网络中移除"不必要"权重或偏差(weigths/bias)的模型压缩技术。关于什么参数才是“不必要的”,这是一个目前依然在研究的领域。 1.1,非结构化剪枝 非结构化剪枝(U…...
写出高质量的前端代码之消除代码中的重复
软件开发中,有个很重要的DRY原则,即Dont Repeat Yourself,也就是不要重复自己。 重复的代码会带来以下问题: 开发效率低,重复造轮子不同人开发的同一类功能,质量层次不齐修改问题时可能会遗漏,…...
怎么从零开始学黑客,黑客零基础怎么自学
很多朋友对成为黑客很感兴趣,很大原因是因为看到电影中黑客的情节觉的特别的酷,看到他们动动手指就能进入任何系统,还有很多走上黑客之路的朋友仅仅是因为自己的qq被盗了,或者游戏里的装备被别人偷了,想要自己盗回来&a…...
量化择时——资金流择时策略(第1部分—因子测算)
文章目录资金流模型概述资金流模型的有效性逻辑资金流向指标MFI(Money Flow Index)MFI指标测算测算规则测算结论资金流模型概述 通常,资金流是一种反映股票供给信息的指标,宏观上来讲,我们知道一个道理:僧…...
Openwrt中动态IPV6 防火墙的正确设置方法
环境:光猫桥接公网IPV6 问题:动态IPV6地址不知道怎么设置防火墙 解决办法:模糊匹配前缀,特定后缀 背景:将家中光猫桥接后,获得了公网的IPV6地址,可以从外部用IPV6访问家中的设备,但I…...
JS的基本数据类型和引用数据类型
ES6 引入了一种新的原始数据类型 Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是:Undefined、Null、布尔值(Boolean)、字符串(String)、数值(Number&…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器
一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...
DAY 26 函数专题1
函数定义与参数知识点回顾:1. 函数的定义2. 变量作用域:局部变量和全局变量3. 函数的参数类型:位置参数、默认参数、不定参数4. 传递参数的手段:关键词参数5 题目1:计算圆的面积 任务: 编写一…...
