当前位置: 首页 > news >正文

Linux基础 - Web服务基础

‍‍🏡博客主页:  Passerby_Wang的博客_CSDN博客-系统运维,云计算,Linux基础领域博主

🌐所属专栏:『Linux基础』

🌌上期文章:  Linux基础 - 虚拟化介绍(KVM)

📰如觉得博主文章写的不错或对你有所帮助的话,还望大家多多支持呀! 关注、点赞、收藏、评论。

目录

一、Web定义

1、超文本(hypertext)  

2、超媒体(hypermedia)

3、超文本传输协议(HTTP)

二、通信基本概念

三、部署Web服务

1、配置

2、快速部署思路

1)安装软件包(httpd)

2)修改配置文件(部署首页 index.html)

3)启动服务服务(httpd)

3、实例

四、访问Web站点

1、访问浏览器程序提供的URL网址

2、URL格式

3、实例

五、虚拟主机

1、含义

2、分类

1)基于域名的虚拟主机

2)基于端口的虚拟主机

3)基于IP地址的虚拟主机

3、配置一个虚拟站点

1)配置文件路径

2)虚拟站点配置

3)实例

4)验证

4、注意事项

1)概述

2)实例

3)验证


一、Web定义

    ​ Web的本意是蜘蛛网和网的意思,在网页设计中我们称为网页的意思。现广泛译作网络、互联网等技术领域。表现为三种形式,即超文本(hypertext)、超媒体(hypermedia)、超文本传输协议(HTTP)等。 ​

1、超文本(hypertext)  

        ​一种全局性的信息结构,它将文档中的不同部分通过关键字建立链接,使信息得以用交互方式搜索。它是超级文本的简称。

2、超媒体(hypermedia)

        超媒体是超文本(hypertext)和多媒体在信息浏览环境下的结合。它是超级媒体的简称。用户不仅能从一个文本跳到另一个文本,而且可以激活一段声音,显示一个图形,甚至可以播放一段动画。

3、超文本传输协议(HTTP)

        Hypertext Transfer Protocol超文本在互联网上的传输协议。

二、通信基本概念

        基于 B/S(Browser/Server)架构的网页服务,服务端提供网页,浏览器下载并显示网页。使用的语言为超文本标记语言HTML(Hyper Text Markup Language),使用的协议为超文本传输协议HTTP(Hyper Text Transfer Protocol)。

        B/S结构(浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。

三、部署Web服务

1、配置

软件包:httpd

系统服务:httpd

默认配置

Listen:监听地址:端口(80)

ServerName:本站点注册的DNS名称(空缺)

DocumentRoot:网页根目录(/var/www/html)

DirectoryIndex:起始页/首页文件名(index.html)

2、快速部署思路

1)安装软件包(httpd)

2)修改配置文件(部署首页 index.html)

3)启动服务服务(httpd)

3、实例

[root@wangwu ~]# yum -y install httpd #安装httpd服务

Loaded plugins: fastestmirror, langpacks

Loading mirror speeds from cached hostfile

... ... ...

[root@wangwu ~]# cd /var/www/html/ #进入网页根目录

[root@wangwu html]# echo My Name Is Wang Wu > index.html #编辑首页index.html内容

[root@wangwu html]# systemctl restart httpd #重启httpd服务

四、访问Web站点

1、访问浏览器程序提供的URL网址

URL全称“Uniform Resouce Locator”,中文译为统一资源定位器。

2、URL格式

wangwu.com:80/wangwu/wangwu.html

协议名://服务器地址:端口号/目录/文件名

3、实例

​
[root@wangwu html]# yum -y install elinks #安装elinks(文本浏览器)

Loaded plugins: fastestmirror, langpacks

Loading mirror speeds from cached hostfile

... ... ...

[root@wangwu html]# elinks -dump wangwu.com

   My Name Is Wang Wu

#访问网页wangwu.com

五、虚拟主机

1、含义

        虚拟主机 ,又称虚拟服务器,是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。虚拟主机之间完全独立,并可由用户自行管理,其硬件系统可以是基于服务器群,或者单个服务器。

2、分类

由同一台服务器提供多个不同的Web站点区分方式

1)基于域名的虚拟主机

2)基于端口的虚拟主机

3)基于IP地址的虚拟主机

3、配置一个虚拟站点

1)配置文件路径

/etc/httpd/conf/httpd.conf

/etc/httpd/conf.d/*.conf

2)虚拟站点配置

<VirtualHost IP地址:端口>

        ServerName         #此站点的DNS名称

        DocumentRoot          #此站点的网页根目录

</VirtualHost>

注:配置虚拟站点应提前准备好网页目录

3)实例

[root@localhost ~]# mkdir /var/www/wangwu #创建虚拟站点路径

[root@localhost ~]# cd /var/www/wangwu

[root@localhost wangwu]# echo WangWu >index.html #编辑index.html内容

[root@localhost wangwu]# vim /etc/httpd/conf.d/01-www.conf

<VirtualHost IP地址:端口>

        ServerName www.wangwu.com       #此站点的DNS名称

        DocumentRoot /var/www/wangwu    #此站点的网页根目录

</VirtualHost>

[root@localhost wangwu]# systemctl restart httpd #重启服务

4)验证

重启前

​
[root@localhost wangwu]# elinks -dump wangwu.com

   My Name Is Wang Wu

重启后

​
[root@localhost wangwu]# elinks -dump wangwu.com

   WangWu

4、注意事项

1)概述

        启用虚拟web主机后,外部的 DocumentRoot、ServerName会被忽略,第1个虚拟站点被视为默认站点,若客户机请求的URL不属于任何已知站点,则由第1个站点响应。需要为原web站点建立虚拟站点。

2)实例

[root@localhost wangwu]# vim /etc/httpd/conf.d/00-default.conf

<VirtualHost *:80>

        ServerName www.wangwu.com       #此站点的DNS名称

        DocumentRoot /var/www/html    #此站点的网页根目录

</VirtualHost>

[root@localhost wangwu]# systemctl restart httpd #重启服务

3)验证

重启前

​
[root@localhost wangwu]# elinks -dump wangwu.com

   WangWu

重启后

​
[root@localhost wangwu]# elinks -dump wangwu.com

   My Name Is Wang Wu

相关文章:

  • 高新技术企业认定八大条件、八大领域、四项指标
  • 异常练习题(Java)
  • 那些惊艳一时的 CSS 属性
  • ipv6地址概述——深入讲解ipv6地址
  • 这才是Git的正确学习方式
  • Linux 命令(204)—— ss 命令
  • 第十四届蓝桥杯模拟赛 第二期题解
  • [激光原理与应用-29]:典型激光器 -1- 固体激光器
  • Redis常见问题
  • 【毕业设计】1-基于单片机的城市轨道交通列车超速防护系统_里程表设计(原理图+PCB+源码+仿真工程+答辩论文)
  • 【数据结构】堆和优先级队列
  • 关于如何找环形链表的入环点
  • 下班路上捡了一部手机,我用8年开发知识主动找到了失主
  • 【Linux系统】第三篇:Linux中软件包管理器yum的使用
  • Bootstrap学习(十一)
  • 《Java编程思想》读书笔记-对象导论
  • 2017-09-12 前端日报
  • android图片蒙层
  • Angular 4.x 动态创建组件
  • canvas 绘制双线技巧
  • Map集合、散列表、红黑树介绍
  • SpiderData 2019年2月16日 DApp数据排行榜
  • ucore操作系统实验笔记 - 重新理解中断
  • 从setTimeout-setInterval看JS线程
  • 记一次删除Git记录中的大文件的过程
  • 嵌入式文件系统
  • 如何学习JavaEE,项目又该如何做?
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • Linux权限管理(week1_day5)--技术流ken
  • MyCAT水平分库
  • (04)odoo视图操作
  • (12)目标检测_SSD基于pytorch搭建代码
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (十六)一篇文章学会Java的常用API
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET多线程执行函数
  • .NET微信公众号开发-2.0创建自定义菜单
  • @Conditional注解详解
  • [Android学习笔记]ScrollView的使用
  • [hdu 1711] Number Sequence [kmp]
  • [IE技巧] IE8中HTTP连接数目的变化
  • [js]- 两个对象的合并(Object.assign)
  • [NOI2022] 众数 题解
  • [pytest] 运行方式、常用参数、前后置条件
  • [Python] 递归返回值 为 None 的问题
  • [SRM] 10 CCZ的诗
  • [WinForm]DataGridView通过代码新增行问题
  • [架构之路-3]:架构师 - 软件架构师也是魔法师,架构师应具备的四大方面的技能
  • [平台运维、Hadoop]Spark Streaming 实时计算框架
  • [书目20161121]军事信息栅格理论与技术
  • [四] java虚拟机JVM编译器编译代码简介 字节码指令实例 代码到底编译成了什么形式...
  • [译] 为多个品牌和应用构建 React 组件
  • [译]新的web应用:播下web3.0的种子
  • [转]div 让文字或图片居中