Linux——web基础实验

实验前的安装

[root@webserver ~]# yum -y install httpd
[root@webserver ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service →
/usr/lib/systemd/system/httpd.service.
[root@webserver ~]# echo test for apache httpd > /var/www/html/index.html
[root@webserver ~]# cat /var/www/html/index.html
test for apache httpd
[root@webserver ~]# curl 127.0.0.1
test for apache httpd
[root@webserver ~]# curl -I 127.0.0.1
HTTP/1.1 200 OK //状态码为 200 说明服务端
//为客户端的访问提供了响应代码为200的
响应
Date: Sun, 21 Apr 2024 08:49:55 GMT
Server: Apache/2.4.37 (Red Hat Enterprise Linux)
Last-Modified: Sun, 21 Apr 2024 08:49:23 GMT
ETag: "16-6169765c97f13"
Accept-Ranges: bytes
Content-Length: 22
Content-Type: text/html; charset=UTF-8

实验一、修改端口

Web 服务主目录 :/home/www/
主页 :home.html ,内容为 “Welcome To My Home”
端口 : 8080
1、为了避免我们的修改造成 Apache 崩溃无法恢复的后果,建议先备份一下默认配置文件
[root@localhost ~]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bac

2、准备服务器主页目录

[root@localhost ~]# mkdir -p /home/www
[root@localhost ~]# echo “Welcome To My Home” >> /home/www/home.html

3、修改配置文件

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
修改 Listen 80 一行 为 Listen 8080
修改 DocumentRoot “/var/www/html“一行为 DocumentRoot "/home/www“
修改<Directory “/var/www/html”> 一行为 <Directory "/home/www">
修改 <IfModule dir_module> 块 内 DirectoryIndex index.html 一行为
DirectoryIndex home.html

4、重启Apache 服务

[root@localhost ~]# systemctl restart httpd

5、浏览器访问地址(http://自己的ip地址:8080/) 可以看到自己的网页

实验二:访问系统用户家目录

1.创建用户并修改用户目录权限,并创建个人主页

[root@localhost ~]# useradd long
[root@localhost ~]# echo redhat | passwd --stdin long
[root@localhost ~]# mkdir /home/long/public_html
[root@localhost ~]# echo "This is long's Home" >>
/home/long/public_html/home.html
[root@localhost ~]# chmod -R 705 /home/long/
[root@localhost ~]# cat /home/long/public_html/home.html
This is long's Home

2.修改配置文件并重启httpd服务

[root@localhost ~]# vim /etc/httpd/conf.d/userdir.conf
将 UserDir disabled 一行前面加#注释掉
将 #UserDir public_html 一行前面#删除取消注释
[root@localhost ~]# systemctl restart httpd

3,验证

在另一台虚拟机中打开浏览器,地址栏输入 http:// 自己的 IP 地址 /~long/ 可以看到 long 用户独有
的主页

实验三、虚拟目录

Apache 服务器中,创建名为 /test/ 的虚拟目录,它对应的物理路径是 /virdir/ ,并在客户端测试。

1.创建相关目录、文件并设置权限

[root@localhost ~]# mkdir /virdir
[root@localhost ~]# echo "VR Test" >> /virdir/home.html
[root@localhost ~]# chmod -R 705 /virdir

2.修改配置文件并重启httpd服务

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
在文件结尾添加如下语句:
Alias /test "/virdir"
<Directory "/virdir">
AllowOverride NOne
Require all granted
</Directory>
[root@localhost ~]# systemctl restart httpd 

3.验证

在虚拟机 2 中打开浏览器 , 地址栏输入 192.168.100.3:8080/test/index.html 后,能看到自己的主页

实验五、配置基于端口的虚拟主机

要求:假设 Apache 服务器 IP 地址为 192.168.100.3 。现需要创建基于 8088 8089 两个不同端口号的虚拟主机,要求不同的虚拟主机对应的主目录不同,默认页面的内容也不同,如何配置?
1. 创建目录、文件
[root@localhost ~]# mkdir /home/www/8088
[root@localhost ~]# mkdir /home/www/8089
# 8088 对应的页面
[root@localhost ~]# echo "8088 test" >> /home/www/8088/index.html
# 8089 对应的页面
[root@localhost ~]# echo "8089 test" >> /home/www/8089/index.html

2.修改配置文件并重启httpd服务

恢复原来的主配置文件为默认,所有的虚拟主机配置,保存在专门的文件中
[root@localhost ~]# cp /etc/httpd/conf/httpd.conf.bac /etc/httpd/conf/httpd.conf
# 根据主配置文件的设置,在conf.d目录下保存新的配置文件
[root@localhost ~]# touch /etc/http/conf.d/myvhost.conf
[root@localhost ~]# vim /etc/http/conf.d/myvhost.conf
下面的内容全部新添加
[root@localhost ~]# cat /etc/httpd/conf.d/mhost.conf
Listen 8088
<VirtualHost *:8088>
DocumentRoot "/vhost/8088"
ServerName localhost
ErrorLog "/var/log/httpd/host8088-error_log"
CustomLog "/var/log/httpd/host8088-access_log" combined
</VirtualHost>
<Directory "/vhost/8088">
AllowOverride None
Require all granted
</Directory>
Listen 8089
<VirtualHost *:8089>
DocumentRoot "/vhost/8089"
ServerName localhost
ErrorLog "/var/log/httpd/host8089-error_log"
CustomLog "/var/log/httpd/host8089-access_log" combined
</VirtualHost>
<Directory "/vhost/8089">
AllowOverride None
Require all granted
</Directory>
[root@localhost ~]# systemctl restart httpd

3.验证

打开浏览器,地址栏输入:
192.168.100.3:8088 可以看到 8088 端口对应的主页
192.168.100.3:8089 可以看到 8089 端口对应的主页

实验六:基于主机名的虚拟主机配置

1.创建目录、文件

[root@webserver ~]# mkdir -p /vhost/server{a,b}
# servera.example.com 对应的页面
[root@webserver ~]# echo servera > /vhost/servera/index.html
# serverb.example.com 对应的页面
[root@webserver ~]# echo serverb > /vhost/serverb/index.html

2.配置主机名解析记录!!!!非常重要,注意替换自己的IP地址

[root@webserver ~]# echo '192.168.110.131 servera.example.com servera' >>
/etc/hosts
[root@webserver ~]# echo '192.168.110.131 serverb.example.com serverb' >>
/etc/hosts
[root@webserver ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4
localhost4.localdomain4
::1 localhost localhost.localdomain localhost6
localhost6.localdomain6
192.168.110.131 servera.example.com servera
192.168.110.131 serverb.example.com serverb

3.修改配置文件、重启服务

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
# 在文件中查找包含该内容为ServerName www.example.com:80注释行,在注释行的下一行添加下
面的内容
ServerName localhost
[root@webserver ~]# cat /etc/httpd/conf.d/mhost.conf
<VirtualHost servera.example.com:80>
DocumentRoot "/vhost/servera"
ServerName servera.example.com # HTTP 请求的路由依据是VirtualHost 配置中的
ServerAlias servera # ServerName 或 ServerAlias 指令
ErrorLog "/var/log/httpd/servera-error_log"
CustomLog "/var/log/httpd/servera-access_log" combined
</VirtualHost>
<Directory "/vhost/servera">
AllowOverride None
Require all granted
</Directory>
<VirtualHost serverb.example.com:80>
DocumentRoot "/vhost/serverb"
ServerName serverb.example.com
ErrorLog "/var/log/httpd/serverb-error_log"
CustomLog "/var/log/httpd/serverb-access_log" combined
</VirtualHost>
<Directory "/vhost/serverb">
AllowOverride None
Require all granted
</Directory>
[root@webserver ~]# systemctl restart httpd

4.验证

在任何一个配置了主机名解析记录的系统上,测试访问
打开浏览器,地址栏输入:
servera.example.com 可以看到 servera.example.com 对应的主页
serverb.example.com 可以看到 serverb.example.com 对应的主页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/3101.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

性能监控数据(本地、服务器)

CPU、内存、磁盘等的监控 一、mac本地性能监控 1. top 终端&#xff1a; top load Avg: 平均负载(1分钟&#xff0c;5 分钟&#xff0c;15 分钟)值不能超过 4&#xff0c;要不然就是超负荷运行 Tasks: 进程数 %Cpu(s): idle :剩余百分比 KiB Mem: free:剩余内存&#xff0…

qt——窗口置灰不可操作

在Qt中实现一个窗口&#xff08;或窗口中的特定部分&#xff09;置灰并不可操作&#xff0c;通常涉及到两个概念&#xff1a;禁用窗口的交互功能以及视觉上的置灰效果。下面我会介绍如何使用Qt实现这两个功能。 1. 禁用窗口的交互功能 如果你希望整个窗口都不可交互&#xff0c…

《深入浅出.NET框架设计与实现》笔记6.4——ASP.NET Core应用程序多种运行模式之四——服务承载

ASP.NET Core应用程序可以在多种运行模式下运行&#xff0c;包括自宿主&#xff08;Self-Hosting&#xff09;、IIS服务承载、桌面应用程序、服务承载。 因此选择和时的模式很重要。 服务承载 在服务承载模式下&#xff0c;ASP.NET Core应用程序将注册为Windows服务&#xf…

idea的macOS Apple Silicon (dmg)版本和macOS (dmg)版本有什么区别

“macOS Apple Silicon (dmg)” 版本则是专门为使用 Apple Silicon 芯片的 Mac 设备而设计的版本。 区别通常在于目标硬件平台和优化程度&#xff1a; 目标硬件平台&#xff1a;macOS Apple Silicon 版本是专门为基于 Apple Silicon 芯片的 Mac 设备&#xff08;例如 M1、M1 P…

再谈C语言——理解指针(五)(完结篇)

数组名的理解 在上⼀个章节我们在使⽤指针访问数组的内容时&#xff0c;有这样的代码&#xff1a; int arr[10] {1,2,3,4,5,6,7,8,9,10}; int *p &arr[0]; 这⾥我们使⽤ &arr[0] 的⽅式拿到了数组第⼀个元素的地址&#xff0c;但是其实数组名本来就是地址&#xf…

视频剪辑新高度:轻松为视频添加字幕,提升内容质量与传播力

视频已经成为最直观、最动人的信息传播方式。但是&#xff0c;仅仅依靠画面和声音&#xff0c;往往难以完全传达视频的核心内容或情感。这时&#xff0c;字幕的加入就显得尤为重要。它们不仅能够增强观众的观看体验&#xff0c;还能为视频增添独特的文字魅力。 首先&#xff0…

vue3 ts table合计样式更改

table合计代码 <el-tableshow-summary:summary-method"summary":cell-style"cellStyle"></el-table>// 引入 &#xff0c;因为返回不能是VNode&#xff0c;所以需要引入h函数 import {h} from "vue";// 方法 &#xff08;计算和官…

让你的电脑准时“打个盹”:Win10定时休眠

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 一、Windows 10任务计划程序 在快节奏的工作生活中&#xff0c;常常需要让电脑在特定时间执行某些任务&#xff0c;而Windows 10的任务计划程序就是为此而生的神器。它不仅可以自动更新系统、备份文件&#xff0c;甚…

九泰智库 | 医械周刊- Vol.23

⚖️ 法规动态 新疆药品和医疗器械产品注册费收费标准大幅降低平均降幅95% 近日&#xff0c;新疆自治区发展和改革委会同自治区财政厅印发《关于调整药品医疗器械产品注册费收费标准的通知》&#xff0c;明确自2024年4月29日起&#xff0c;取消药品补充申请注册费&#xff0c;药…

打造人脸磨皮算法新标杆,满足企业多元化需求

高清视频和图片已成为企业展示形象、传递信息的重要载体&#xff0c;拍摄过程中难以避免的皮肤瑕疵和纹理不均等问题&#xff0c;常常让精美的画面失色。美摄科技凭借其领先的人脸磨皮算法解决方案&#xff0c;为企业提供了高效、精细的图像处理服务&#xff0c;让每一帧画面都…

Git ignore、exclude for TortoiseGit 小结

1.Ignore Type&#xff1a;忽略类型&#xff0c;也即忽略规则&#xff0c;如何去忽略文件? 1.1.Ignore item(s) only in containing folder(s)&#xff1a;仅忽略在包含在文件夹中项目。 仅忽略该文件夹下选定的patterns。the patterns其实就是文件类型&#xff0c;比如.txt后…

python安装pytorch@FreeBSD

先上结论&#xff0c;最后在conda下安装成功了&#xff01; PyTorch是一个开源的人工智能深度学习框架&#xff0c;由Facebook人工智能研究院&#xff08;FAIR&#xff09;基于Torch库开发并维护。PyTorch提供了一个高效、灵活且易于使用的工具集&#xff0c;用于构建和训练深…

用Python自动获取PDF图纸的图纸大小,并依此分类整理

在建筑行业&#xff0c;设计师用CAD设计完建筑图纸后&#xff0c;常常需要上传到市、省二级图审平台上&#xff0c;故需要将每张图纸转成PDF文档&#xff0c;并盖电子章&#xff08;出图章、建造师章和结构章&#xff09;&#xff0c;然后上传图审系统。如果设计师在CAD转PDF时…

SpringMVC基础篇(一)

文章目录 1.基本介绍1.特点2.SpringMVC跟SpringBoot的关系 2.快速入门1.需求分析2.图解3.环境搭建1.创建普通java工程2.添加web框架支持3.配置lib文件夹1.导入jar包2.Add as Library3.以后自动添加 4.配置tomcat1.配置上下文路径2.配置热加载 5.src下创建Spring配置文件applica…

找不到openjdk-1.8-tools和openjdk-1.8-jconsole

每次打包都报找不到openjdk-1.8-tools和openjdk-1.8-jconsole&#xff0c;但是在项目中并没有用到。 这个是在maven仓库下的druid下的pom文件中。根本没有用到&#xff0c;于是把这两行注释调。解决 .m2\repository\com\alibaba\druid\1.2.6\druid-1.2.6.pom

内网穿透!如何配置frp新版0.56.0的配置文件.toml:提供web、samba、ssh远程连接示例

最新版本的frp在配置上与之前有很大不同&#xff0c;需要使用.toml文件进行配置。其中主要问题出现在toml文件内部。因此&#xff0c;本文将专门讨论这个问题。 一、服务端配置 下载并解压&#xff08;以debian系统为例&#xff09;&#xff1a; sudo apt update sudo apt i…

钡铼IOy系列模块在无人值守智能仓库中的成功运用,提升仓储物流效率

随着科技的不断发展&#xff0c;无人值守智能仓库正成为现代物流行业的一个重要趋势。在这个快节奏的时代&#xff0c;提升仓储物流效率是企业追求的目标之一。钡铼IOy系列模块为无人值守智能仓库的成功运作提供了关键支持。本文将探讨钡铼IOy系列模块在无人值守智能仓库中的应…

Java面试之数据类型

在Java中&#xff0c;数据类型用于声明变量并指定变量能够存储的数据类型。Java的数据类型可以分为两大类&#xff1a;基本数据类型和引用数据类型。 一、基本数据类型&#xff1a; 1.1、整型&#xff1a;用于表示整数值&#xff0c;包括byte、short、int和long。 byte&…

java读取过来的文件乱码?指定字符集。操作文件的几种方式

从文件读取字符串的几种方式 1 使用BufferedReader和FileReader&#xff08;无法指定读取字符集&#xff09; public static void main(String[] args) {StringBuilder content new StringBuilder();try (BufferedReader reader new BufferedReader(new FileReader("f…