问鼎web服务

华子目录

  • www简介
    • 常见Web服务程序介绍:
    • 服务器主机
    • 主要数据
    • 浏览器
    • 网址及http介绍
      • url
      • http请求方法
    • http协议请求的工作流程
    • www服务器类型
      • 静态网站
      • 动态网站
  • 快速安装Apache
    • 安装
    • 准备工作
    • httpd所需目录
    • 主配置文件
  • 实验操作

www简介

  • Web网络服务也叫www(world wide web全球信息广播)万维网服务,一般是指能够让用户通过浏览器访问到互联网中文档等资源的服务
  • Web网络服务是一种被动访问的服务程序,即只有接收到互联网中其他主机发送的请求后才会响应,最终用于提供服务程序的Web服务器会通过http(超文本传输协议)或https(完全超文本传输协议)把请求的内容传送给用户,如图:
    在这里插入图片描述

常见Web服务程序介绍:

  • IIS:Windows系统中默认Web服务程序是IIS(Internet Information Services),这是一款图形化的网站管理工具,IIS程序不光能提供Web网站服务,还能够提供FTP,NMTP,SMTP等服务功能,但只能在Windows系统中使用。
    在这里插入图片描述
  • Nginx:2004年10月4日,为俄罗斯知名门户站点而开发的Web服务程序Nginx横空出世。Nginx程序作为一款轻量级的网站服务软件,因其稳定性和丰富的功能而快速占领服务器市场,但是Nginx最终被认可的还是其低系统资源占用,内存少且并发能力强,因此得到了国内诸如新浪,网易,腾讯等门户站的青睐
    在这里插入图片描述
  • Apache:取自美国印第安人土著语Apache,寓意着拥有高超的作战策略和无穷的耐性,由于其跨平台和安全性广泛被认可且拥有快速,可靠,简单的API扩展。目前拥有很高的Web服务软件市场占用率,全球使用最多的Web服务软件,开源,跨平台(可运行于Unix,Linux,Windows中)
    在这里插入图片描述
  • Tomcat:属于轻量级的Web服务软件,一般用于开发的调试JSP代码,通常认为Tomcat是Apache的扩展程序
    在这里插入图片描述

服务器主机

  • 网站是由域名,网页源程序和主机空间组成的,其中主机空间则是用于存放网页源代码并能够将网页内容展示给用户,虽然本小节与Apache服务没有直接关系,但如果您想要在互联网中搭建网站并被顺利访问,主机空间一定不能选错
    在这里插入图片描述
  • 虚拟主机:在一台服务器中分出一定的磁盘空间供用户放置网站,存放数据等,仅提供基础的网站访问,数据存放与传输流量功能,能够极大的降低用户费用,也几乎不需要管理员维护除网站数据以外的服务,适合小型网站
  • VPS(Virtual Private Server):在一台服务器中利用OpenVZ,Xen或KVM等虚拟技术模拟出多个主机,每个主机都有独立的ip地址,操作系统,实现不同VPS之间磁盘空间,内存,CPU资源,进程与系统配置间的完全隔离,管理员可自由使用分配到的主机中的所有资源,所以需要有一定的维护系统能力,适合小型网站。
  • 云服务器(ECS):是一种整合了计算,存储,网络,能够做到弹性伸缩的计算服务,其使用起来与VPS几乎一样,但差别是云服务器建立在一组集群服务器中,每个服务器都会保存一个主机的镜像(备份),大大的提升了安全稳定性,另外还具备了灵活性与扩展性,用户只需按使用量付费的即可,适合大中小型网站。
  • 独立服务器:这台服务器仅提供给您使用,详细来讲又可以区分为租用方式与托管方式。
    • 租用方式:用户只需将硬件配置要求告知IDC服务商,服务器硬件设备由机房负责维护,运维管理员一般需要自行安装相应的软件并部署网站服务,租期可以为月、季、年,减轻了用户初期对硬件设备的投入,适合大中型网站。
    • 托管方式:用户需要自行购置服务器后交给IDC服务供应商的机房进行管理(缴纳管理服务费用),用户对服务器硬件配置有完全的控制权,自主性强,但需要自行维护、修理服务器硬件设备,适合大中型网站。
    • 另外有必要提醒,选择主机空间供应商时请一定要注意看口碑,综合分析再决定购买,某些供应商会有限制功能、强制添加广告、隐藏扣费或强制扣费等恶劣行为,一定一定不要上当!

主要数据

  • 服务器所提供的最主要数据是超文本标记语言(Hyper Text Markup Language,HTML),多媒体文件(图片,影像,声音,文字等都属于多媒体或称为超媒体),HTML只是一些纯文本数据,通过所谓的标记来规范所要显示的数据格式

浏览器

  • 客户端收到服务器的数据之后需要软件解析服务器所提供的数据,最后将效果呈现在用户的屏幕上。
  • 那么著名的浏览器就有内建在Windows操作系统内的IE浏览器(淘汰)和Microsoft Edge,还有Firefox浏览器和Google的chrome浏览器

网址及http介绍

  • Web服务器提供的这些数据大部分都是文件,那么我们需要在服务器端先将数据文件写好,并且放置在某个特殊的目录下面,这个目录就是我们整个网站的首页,通常这个目录默认在/var/www/html
  • 浏览器是通过你在地址栏中输入你所需要的网址来取到这个目录的数据

url

  • Uniform Resource Locator,统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。
  • 网址格式:<协议>://<主机或主机名>[:port]/<目录资源,路径>
  • 协议:http,https,ftp等
  • 主机地址或者主机名:主机地址就是服务器在因特网所在的IP地址。如果是主机名的话,那么就需要域名解析了
  • 端口号(port):http为80,https为443 (IANA:互联网数字分配机构)
    • 0-1023:永久地分配给固定的应用程序使用
    • 1024-41951:注册端口,但要求不是特别严格,分配给程序注册为某应用使用
    • 41952-60000:客户端程序随机使用的端口,动态端口,或私有端口

http请求方法

  • 在http通信中,每个http请求报文都包含一个方法,用以告诉web服务器端需要执行哪些具体的动作,这些动作包括:获取指定web页面、提交内容到服务器、删除服务器上资源文件等。
    在这里插入图片描述

  • 状态码:由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值

    • 1xx:表示请求已接收,继续处理
    • 2xx:表示请求已被成功接收,理解
    • 3xx:表示要完成请求必须进行更进一步的操作
    • 4xx:表示请求又语法错误或请求无法实现
    • 5xx:表示服务器未能实现合法的请求
  • 常见状态码:

    • 200:客户端请求成功
    • 400:客户端请求有语法错误
    • 401:请求未经授权
    • 403:服务器收到请求,但拒绝服务
    • 404:请求资源不存在
    • 500:服务器发生不可预期的错误
    • 503:服务器当前不能处理客户端的请求,一段时间后可能恢复正常

http协议请求的工作流程

  • 终端客户在web浏览器地址栏输入访问地址http://www.ceshi.com:80/index.html
  • web浏览器请求DNS服务器把域名www.ceshi.com解析成web服务器的IP地址
  • web浏览器将端口号(默认是80)从访问地址(URL)中解析出来
  • web浏览器通过解析后的ip地址及端口号与web服务器之间建立一条TCP连接
  • 建立TCP连接后,web浏览器向web服务器发送一条HTTP请求报文
  • web服务器响应并读取浏览器的请求信息,然后返回一条HTTP响应报文
  • web服务器关闭HTTP连接,关闭TCP连接,web浏览器显示访问的网站内容到屏幕上

www服务器类型

静态网站

  • 仅提供用户浏览的单向静态网页,单纯是由服务器单向提供数据给客户端,Server不需要与client端有互动,可以浏览网站,但是无法数据上传。

动态网站

  • 该站可以让服务器与用户互动,常见的例如留言板,博客。这种类型的网站需要通过“网页程序语言”来实现与用户互动的行为。常见的例如:PHP网页程序语言,配合数据库系统来进行数据的读、写。当你在向服务器请求数据时,其实是通过服务器端同一个网页程序在负责将数据读出或写入数据库,变动的是数据库的内容,网页程序并没有任何改变
  • 另外一种交互式的动态网页主要是在客户端实现。服务端将可执行的程序代码(JavaScript)传送给客户端,客户端的浏览器如果提供JavaScript的功能,那么该程序就可以在客户端的计算机上面工作了;另外一种可在客户端执行的就是flash动画格式,在这种动画格式内还可以进行程序设计
  • 搭建动态网站的需求:LAMP(Linux+Apache+MySQL+PHP)
    • Apache主要提供www的服务器平台
    • MySQL:传统的文件读取是很麻烦的,如果只要读取该文件当中的一小部分,系统还是会将整个文件读出来,若多个用户同时读取同一个文件时,那就会造成效率与系统上的问题,所以才会有数据库系统的推出。数据库其实是一种特殊格式的文件,这种文件要通过特殊接口(数据库软件)来进行读写。由于这个特殊接口已经针对数据的查询、写入做过优化设计,因此很适合多人同时写入与查询工作
    • PHP:PHP可以被用来建立动态网页,PHP程序代码可以直接在HTML网页当中嵌入,就像编辑HTML网页一样简单。PHP是一种“程序语言”,这种程序语言可以直接在网页当中编写,不需要经过编译即可执行

快速安装Apache

安装

[root@server ~]# yum install httpd -y

准备工作

[root@server ~]# setenforce  0[root@server ~]# systemctl stop firewalld[root@server ~]# systemctl start httpd[root@server ~]# systemctl enable httpd[root@server ~]# systemctl status  httpd

httpd所需目录

[root@server ~]# cd  /etc/httpd    # 主配置文件所在目录[root@server ~]# vim /etc/httpd/conf/httpd.conf  # 主配置文件[root@server ~]# cd /var/www/html  # 存储默认网页的目录[root@server ~]# cd  /var/log/httpd   # 存储网站访问日志和错误日志的目录

主配置文件

[root@server ~]# vim   /etc/httpd/conf/httpd.conf
ServerRoot "/etc/httpd"  # 服务目录
#Listen 12.34.56.78:80   # 设置监听的ip地址及端口
Listen 80  # 默认开启监听端口为80
Include conf.modules.d/*.conf  # 加载额外配置文件
User apache # 运行服务的用户
Group apache  # 运行服务的工作组
ServerAdmin root@localhost  # 管理者的邮箱
#ServerName www.example.com:80  # 设置域名及端口号,必须要有域名解析
<Directory /> # <>表示起始标志,</>表示结束标志
# 设置目录的权限,当浏览器中输入url地址后,若访问服务器某目录下的某个文件,必须要设置其权限,保证数据的安全性
# AllowOverride:是否允许权限覆盖,如果有额外的权限文件,是否允许额外文件来对当前Directory进行权限覆盖AllowOverride none  # 不允许覆盖Require all denied  # 禁止所有来源访问文件或目录# Require all granted  # 允许所有来源访问
</Directory>DocumentRoot "/var/www/html"  # 网页存放的默认目录
<Directory "/var/www">  # 设置网页的权限,与DocumentRoot搭配使用AllowOverride None# Allow open access:Require all granted
</Directory>

实验操作

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

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

相关文章

编码的发展历史

编码的发展历史 ASCII&#xff1a; ASCII编码使用7位二进制数表示一个字符&#xff0c;范围从0到127。每个字符都有一个唯一的ASCII码值与之对应。例如&#xff0c;大写字母"A"的ASCII码是65&#xff0c;小写字母"a"的ASCII码是97。 ASCII字符集包括英文…

linux服务器安装gitlab

一、安装gitlab sudo yum install curl policycoreutils-python openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshd sudo firewall-cmd --permanent --add-servicehttp curl https://packages.gitlab.com/install/repositories/gitla…

LabVIEW中将SMU信号连接到PXI背板触发线

LabVIEW中将SMU信号连接到PXI背板触发线 本文介绍如何将信号从PXI&#xff08;e&#xff09;SMU卡路由到PXI&#xff08;e&#xff09;机箱上的背板触发线。该过程涉及使用NI-DCPowerVI将SMU信号导出到PXI_TRIG线上。 在继续操作之前&#xff0c;请确保在开发PC上安装了兼容版…

MySQL启动MySQL8.0并指定配置文件

MySQL启动MySQL8.0并指定配置文件 mkdir -p /mysql8hello/config ; mkdir -p /mysql8hello/data ; mkdir -p /mysql8hello/logs; mkdir -p /mysql8hello/conf; vim /mysql8hello/config/my.cnf; # 启动报错就修改成777&#xff0c;但是会提示风险 chmod 644 /mysql8hello/co…

d3dx9_43.dll缺失怎么办?教你一分钟修复d3dx9_43.dll丢失问题

今天&#xff0c;与大家分享关于“d3dx9_43.dll丢失的5个解决方法”的主题。在我们的日常生活和工作中&#xff0c;我们可能会遇到各种各样的问题&#xff0c;而d3dx9_43.dll丢失就是其中之一。那么&#xff0c;什么是d3dx9_43.dll呢&#xff1f;它为什么会丢失&#xff1f;又该…

【LeetCode刷题-链表】--25.K个一组翻转链表

25.K个一组翻转链表 思路&#xff1a; 把链表节点按照k个一组分组&#xff0c;可以使用一个指针head依次指向每组的头节点&#xff0c;这个指针每次向前移动k步&#xff0c;直至链表结尾&#xff0c;对于每个分组&#xff0c; 先判断它的长度是否大于等于k&#xff0c;若是&am…

什么是Zero-shot(零次学习)

1 Zero-shot介绍 Zero-shot学习&#xff08;ZSL&#xff09;是机器学习领域的一种先进方法&#xff0c;它旨在使模型能够识别、分类或理解在训练过程中未见过的类别或概念。这种学习方法对于解决现实世界中常见的长尾分布问题至关重要&#xff0c;即对于一些罕见或未知类别的样…

商务俄语学习,柯桥基础入门教学,千万别小看俄语中的“что”

1、что до (чего) 至于 例&#xff1a; что до меня, то я не могу согласиться 至于我&#xff0c;我不能同意。 А что до зимовки... Ты приедешь в этом году? 说到冬天和过冬…你今年回来吗…

在windows笔记本中安装tensorflow1.13.2版本的gpu环境2

tensorflow1.13.2版本的gpu环境 看python-anacona的安装只需要看1.1部分即可 目录 1.1 Anaconda安装 1.2 tensorflow-gpu安装 1.3 python编译器-pycharm安装 1.1 Anaconda安装 从镜像源处下载anaconda&#xff0c;地址&#xff1a;Index of /anaconda/archive/ | 北京…

PTA-6-45 工厂设计模式-运输工具

题目如下&#xff1a; 工厂类用于根据客户提交的需求生产产品&#xff08;火车、汽车或拖拉机&#xff09;。火车类有两个子类属性&#xff1a;车次和节数。拖拉机类有1个子类方法耕地&#xff0c;方法只需简单输出“拖拉机在耕地”。为了简化程序设计&#xff0c;所有…

基于docker实现JMeter分布式压测

为什么需要分布式&#xff1f; 在工作中经常需要对一些关键接口做高QPS的压测&#xff0c;JMeter是由Java 语言开发&#xff0c;没创建一个线程&#xff08;虚拟用户&#xff09;&#xff0c;JVM默认会为每个线程分配1M的堆栈内存空间。受限于单台试压机的配置很难实现太高的并…

LeetCode59.螺旋矩阵

LeetCode59.螺旋矩阵 1.问题描述2.解题思路3.代码 1.问题描述 给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[[1,2,3],[8,9,…

Codeforces Round 822 (Div. 2)(D前缀和+贪心加血量)

A.选三条相邻的边遍历一次求最小值 #include<bits/stdc.h> using namespace std; const int N 1e610,mod1e97; #define int long long int n,m; vector<int> g[N]; int a[N]; void solve() {cin>>n;int res2e18;for(int i1;i<n;i) cin>>a[i];sort…

谈一谈什么是接口测试?怎样做接口测试?

扫盲内容&#xff1a; 1.什么是接口&#xff1f; 2.接口都有哪些类型&#xff1f; 3.接口的本质是什么&#xff1f; 4.什么是接口测试&#xff1f; 5.问什么要做接口测试&#xff1f; 6.怎样做接口测试&#xff1f; 7.接口测测试点是什么&#xff1f; 8.接口测试都要掌…

童装店铺如何通过软文增加客流量

在信息超负载、媒介粉尘化、产品同质化多重因素下&#xff0c;传统营销疲态尽显、日渐式微&#xff0c;很难支撑新环境下品牌和企业的持续增长。聚焦童装行业更是如此&#xff0c;一方面用户迭代速度快&#xff0c;另一方面&#xff0c;新时代父母的育儿观念更加精细化&#xf…

安装pytorch

cuda≤11.6&#xff0c;观察控制面板 观察torch对应cuda版本 https://download.pytorch.org/whl/torch/ 安装cuda11.6.0 CUDA Toolkit Archive | NVIDIA Developer cmd输入nvcc -V 编辑国内镜像源 .condarc anaconda prompt输入 查看环境 conda env list 安装py3.9…

MySQL面试,MySQL事务,MySQL锁,MySQL集群,主从,MySQL分区,分表,InnoDB

文章目录 数据库-MySQLMySQL主从、集群模式简单介绍1、主从模式 Replication2、集群模式3、主从模式部署注意事项 UNION 和 UNION ALL 区别分库分表1.垂直拆分2、水平拆分 MySQL有哪些数据类型1、整数类型**&#xff0c;2、实数类型**&#xff0c;3、字符串类型**&#xff0c;4…

DDoS攻击频发,科普防御DDoS攻击的几大有效方法

谈到目前最凶猛、频率高&#xff0c;且令人深恶痛绝的网络攻击&#xff0c;DDoS攻击无疑能在榜上占有一席之地。各种规模的企业报包括组织机构都可能受到影响&#xff0c;它能使企业宕机数小时以上&#xff0c;给整个互联网造成无数损失。可以说&#xff0c;怎样防御DDoS攻击是…

python的多层嵌套循环时,break可以退出多层循环吗?

在Python中&#xff0c;break 语句只能退出当前所在的循环&#xff0c;无法直接退出多层嵌套的循环。但是&#xff0c;你可以通过使用一个标志变量或者通过使用异常来模拟退出多层循环的效果。 使用标志变量&#xff1a; flag False for i in range(5):for j in range(5):if…

Vue 定义只读数据 readonly

readonly 让一个响应式数据变为 **深层次的只读数据**。 isReadonly 判断一个数据是不是只读数据。 应用场景&#xff1a;不希望数据被修改时使用。 readonly 深层次只读&#xff1a; <template><h1>reactive数据</h1><p>姓名&#xff1a;{{ info…