Linux——web基础实验

news2025/1/17 3:14:02

实验前的安装

[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.coloradmin.cn/o/1622935.html

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

相关文章

2024技术巅峰:【研发效能·创享大会】精彩不容错过!

嗨享技术轰趴 【朋友们&#xff0c;5月25日&#xff0c;北京聚起来&#xff01;】 一场汇聚行业精英、聚焦AIGC、BizDevOps、ToB产品管理、B端产品运营、平台工程、研发效能、效能度量、职业画布、DevOps国标解读等前沿议题的研发效能创享大会即将开启&#xff01; 大会的讨论…

prometheus helm install 如何配置告警模版

对接企业微信 获取企业id 注册完成之后&#xff0c;通过企业微信官网登录后台管理&#xff0c;在【我的企业】的企业信息里面&#xff0c;获取到Alertmanager服务配置需用到的第一个配置&#xff1a;企业ID 获取部门id 部门ID 在【通讯录】中&#xff0c;添加一个子部门&a…

Keil出现警告:warning: #223-D: function “XXX“ declared implicitly

这个警告表明编译器在函数使用之前没有找到函数的显式声明或定义。这通常发生在函数被使用之前没有在当前文件中进行声明或定义&#xff0c;或者头文件未正确包含。 解决方式&#xff1a; 在当前文件中添加函数声明&#xff1a;在使用函数之前&#xff0c;在当前文件中添加函…

JavaScript-4.正则表达式、BOM

正则表达式 正则表达式包含在"/"&#xff0c;"/"中 开始与结束 ^ 字符串的开始 $ 字符串的结束 例&#xff1a; "^The"&#xff1a;表示所有以"The"开始的字符串&#xff08;"There"、"The cat"等&#x…

39-数组 _ 二维数组

39-1 二维数组的创建 行和列编号依旧是从0开始&#xff1a; //arr数组&#xff1a; //1 2 3 4 //2 3 4 5 //2 4 5 6 //三行四列int main() {int arr[3][4]; //存放整数char arr1[5][10]; //存放字符return 0; } 39-2 二维数组的初始化 创建之后&#xff0c;利用初始化赋值…

Linux + mysql面试题

Linux 基础.Linux 基础说出 个以上的 Linux 命令在 RedHat 中&#xff0c;从 root 用户切到 userl 用户&#xff0c;一般用什么命令&#xff1f;Linux 中&#xff0c;一般怎么隐藏文件&#xff1f;在 Linux 系统中&#xff0c;一个文件的访问权限是 7&#xff0c;其含义是什么…

对增加LLaMA 3 上下文长度技术的猜测

AI苏妲己&#xff1a; 在许多应用场景中&#xff0c;如长对话、长文档摘要或长期计划执行等&#xff0c;大语言模型能够支持较长的上下文窗口是非常理想的。以一次处理约50页书籍内容为例&#xff0c;通常需要模型支持32K个token的上下文长度。目前&#xff0c;主流的大语言模…

docker快速搭建部署mqtt

文章目录 前言一、mqtt是什么&#xff1f;二、使用步骤1.引入库2.创建临时容器3.创建挂在目录4.将临时容器的配置挂载到宿主机中5.删除临时容器6.运行容器并挂载文件7.登录EMQX内置的管理控制台 总结 前言 一、mqtt是什么&#xff1f; MQTT&#xff08;Message Queuing Teleme…

智慧码头港口:施工作业安全生产AI视频监管与风险预警平台方案

一、建设思路 随着全球贸易的快速发展&#xff0c;港口作为连接海洋与内陆的关键节点&#xff0c;其运营效率和安全性越来越受到人们的关注。为了提升港口的运营效率和安全性&#xff0c;智慧港口视频智能监控系统的建设显得尤为重要。 1&#xff09;系统架构设计 系统应该采…

LLM大语言模型(十二):关于ChatGLM3-6B不兼容Langchain 的Function Call

背景 基于本地的ChatGLM3-6B直接开发LangChain Function Call应用&#xff0c;发现其输出的action和action_input非常不稳定。 表现为生成的JSON格式回答非常容易出现不规范的情况&#xff0c;导致LangChain的Agent执行报错&#xff0c;或者进入死循环。 ChatGLM3-6B不兼容La…

关于DevOps理解和总结

DevOps是研发领域最近几年最热的一个概念。参加过一些讲座&#xff0c;也看过不少的书籍&#xff0c;经常听到以下说法&#xff1a; DevOps是没有明确定义的&#xff0c;一千个研发心中就有一千个Devops&#xff1b;DevOps是一种文化&#xff0c;每个团队的DevOps实践都不一样…

spring基本使用

文章目录 1. ioc(Inversion of Control) | DI(Dependency Injection)(1) maven坐标导包(2) 编写配置文件bean.xml(3) 配置bean(4) 配置文件注入属性 2. DI(dependency injection) 依赖注入(setter)其他属性(1) 对象属性注入(2) 数组属性输入(3) 集合属性注入(4) map集合注入(5)…

JAVASE8中基本数据类型

本篇文章基于有过一部分的C语言基础的&#xff0c;还望大家理解 在进入到学习之前我们必须要清楚的是在JAVASE中数据类型与C语言中的数据类型基本上是相同的,接下来我们先来对8中数据类型进行简要介绍&#xff0c;他们分别是&#xff1a; 如果大家之前了解过C语言那么对于基本数…

【FP7208-RGBWY五路调光方案】 单节锂电池LED升压恒流驱动调光芯片FP7208,PWM内部转模拟调光,无频闪顾虑低亮无抖动

文章目录 方案背景 二、RGBWY五路调光调色芯片FP7208 1.芯片参数 2.单颗芯片五路调光应用原理 调光调色信号注意事项&#xff1a; 3.五路调光应用电路图DEMO实物图 4.RGBWY调光调色详解 总结 方案背景 近年来随着技术的不断进步&#xff0c;越来越多的产品需要适应小型化和便携…

系统试运行报告(上线运行报告Word原件2024)

一、试运行目的 软件项目试运行的主要目的是在实际应用环境中对软件系统进行全面检验&#xff0c;确保其满足设计要求和用户需求&#xff0c;同时发现和解决潜在的问题&#xff0c;为正式投入使用做好准备。通过试运行&#xff0c;我们可以&#xff1a; 验证软件系统的稳定性…

ONES 功能上新|ONES Wiki 新功能一览

支持在 ONES Wiki 页面中使用分栏进行横向排版&#xff0c;丰富排版方式&#xff0c;帮助用户以更丰富的版式展示内容。 应用场景&#xff1a; 页面的布局对内容的阅读有很大的影响。当页面中有图文混排的需求时&#xff0c;可以通过分栏来组织页面结构&#xff0c;以更清晰、更…

LabVIEW学习记录 - 实时显示时间

LabVIEW操作 - 实时显示时间 在程序框图&#xff0c;选择函数->定时->格式化日期/时间字符串 该函数的使用手册说明&#xff1a; 鼠标选择“格式化日期/时间字符串”->创建->输入控件->输入格式 查看时间代码格式&#xff1a; 编程->定时->获取时间日…

cad中快速计算多个矩形面积的方法

1、输入命令reg&#xff0c;选中矩形创建面域 2、输入命令uni,选中刚刚创建的面域&#xff0c;组合成一个面域 3、输入命令&#xff1a;LI &#xff0c;选中面域&#xff0c;即可查看面积和周长 需注意的一点&#xff0c;开始创建的矩形或者多段线要在一个面内&#xff0c;就是…

word常用的文件格式有哪些?word格式文件删除了怎么恢复

在数字文档处理的世界中&#xff0c;Microsoft Word以其丰富的格式选项和强大的编辑功能赢得了广大用户的青睐。但与此同时&#xff0c;误删或丢失Word格式文件的情况也时有发生。本文将深入探讨Word常用的文件格式有哪些&#xff0c;同时分享如何恢复误删的Word文件&#xff0…

浏览器的工作原理

参考&#xff1a;渲染页面&#xff1a;浏览器的工作原理 - Web 性能 | MDN (mozilla.org) Web 性能 | MDN (mozilla.org) Web性能影响因素 首先有两个&#xff0c;一个是网络延迟&#xff0c;一个是大部分情况下浏览器都是单线程执行的 保障页面快速加载的最大威胁是网络延迟…