当前位置: 首页 > 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学习(十一)
  • [译]CSS 居中(Center)方法大合集
  • 【css3】浏览器内核及其兼容性
  • 【node学习】协程
  • Angular 2 DI - IoC DI - 1
  • create-react-app做的留言板
  • golang 发送GET和POST示例
  • Java Agent 学习笔记
  • java2019面试题北京
  • js面向对象
  • Octave 入门
  • PHP的类修饰符与访问修饰符
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • Twitter赢在开放,三年创造奇迹
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 服务器之间,相同帐号,实现免密钥登录
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 诡异!React stopPropagation失灵
  • 聊聊redis的数据结构的应用
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 消息队列系列二(IOT中消息队列的应用)
  • puppet连载22:define用法
  • 容器镜像
  • # C++之functional库用法整理
  • # 数据结构
  • ###C语言程序设计-----C语言学习(3)#
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (Forward) Music Player: From UI Proposal to Code
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (转)VC++中ondraw在什么时候调用的
  • .net连接oracle数据库
  • .NET轻量级ORM组件Dapper葵花宝典
  • .net生成的类,跨工程调用显示注释
  • .net与java建立WebService再互相调用
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • [<死锁专题>]
  • [100天算法】-x 的平方根(day 61)
  • [android] 练习PopupWindow实现对话框
  • [Apio2012]dispatching 左偏树
  • [C#基础知识系列]专题十七:深入理解动态类型