Web基础、http协议、源码编译构建LAMP

news2025/2/5 10:42:54

目录

一、DNS与域名

1.1域名概述

1.2域名小结

1.3DNS域名解析

1.4域名

二、网页的概念

1.网页的基本概念

三、web

1.1web概述

1.2渲染过程

1.3web1.0和web2.0

1.4静态页面和动态页面

四、http协议

1.http协议简介

2.cookie和session

2.1cookie

2.2session

3.cookie和session的区别

4.http的各个版本

5.http的状态码

6.http协议流程分析

五、Apache

1.1概述

1.2功能

1.3特性

1.4MPM工作模式

六、LAMP

1.概述

2.构建LAMP平台顺序

3.编译安装的优点

4.各个组件的作用

七、扩展

1.wget工具

2.curl

3.压力测试工具


一、DNS与域名

1.1域名概述

1. 网络是基于 TCP/IP 协议进行通信和连接的,每一台主机都有一个唯一的标识(固定的 IP 地址), 用以区别在网络上成千上万个用户和计算机。网络在区分所有与之相 连的网络和主机时,均采用一 种唯一、通用的地址格式,即每一个与网络相连接的计算机和服务器都被指派一个独一无二的地址

2. 为了保证网络上每台计算机的 IP 地址的唯 一性,用户必须向特定机构申请注册,分配 IP 地址 网络中的地址方案分为两套:IP 地址系统和域名地址系统。这两套地址系统其实是一一对应的关系 由于 IP 地址是数字标识,使用时难以记忆和书写,因此在IP 地址的基础上又发展出一种符号化的 地址方案,来代替数字型的 IP 地址

1.2域名小结

1、网络上交互是基于TCP/IP协议的,每个主机在逻辑上有一个唯一位置标识(IP地址),物理地址为 MAC地址

2、为了保证地址唯一性,用户协议向特地给机构申请注册,分配IP地址网络中的地址有两套方案:

① IP地址系统

② 域名地址系统

而由于IP是由32位二进制数字标识,不方便记忆,所以 以IP地址为基础发展出了符号化地址来代替解决 方案,也是是域名

1.3DNS域名解析

  1. /etc/host

linux系统中负责快速解析的文件,包含了ip与主机名的映射关系,在没有DNS服务器的情况下,使用本 地/etc/hosts完成解析/映射,实现快速访问

示例:

192.168.226.128 master

192.168.226.129 node1

192.168.226.130 node2

      2./etc/resolv.conf

DNS客户端配置文件,主要用于设置DNS服务器的IP和域名,还包含了主机域名的搜索顺序等等,这个 文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。 PS:主要用与匹配DNS服务器,示例:

nameserver 8.8.8.8

nameserver 218.2.135.1

      3.在网卡配置文件里搞

/etc/sysconfig/network-scripts/ifcfg-ens33

生效顺序:

host文件 ——》网卡配置文件——》DNS客户端配置文件

1.4域名

1、定义: 标识一组主机并提供它们的有关信息的树形结构(主要确定了根在哪,就可以确定每个分 支) www.baidu.com 域名服务器(分布式,每台主机维护一个部分)

 ① 保持和维护域名空间的程序

② 响应解析器的请求 解析端(客户端) 向DNS服务器发出请求的设备

2、域名空间结构(从右往左看)

① 根域 位于域名空间最顶层,一般用一个 “.” 表示 基础单位,除了根域 其他都只有一个上级域,有0或多个子域,同层域不可重复的子域或域名

② 顶级域 一般代表一种类型的组织机构或国家地区(主要有此两种类型构成),如 net(网络公司)、com(商 业)、org(民间团体组织)、edu(教育)、gov(政府)、mil(军事)、cn(中国)、jp(日本)、 hk(中国香港)

③ 二级域 用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 .cn 顶 级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn …

④ 子域 子域名(或子域;英语:Subdomain)是在域名系统等级中,属于更高一层域的域。比如, mail.example.com和calendar.example.com是example.com的两个子域,而example.com则是顶级 域.com的子域。凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少分为二级子 域名,三级子域名以及多级子域名

二、网页的概念

1.网页的基本概念

① 网页 纯文本格式文件 编写语言为HTML 在用户的浏览器中被“翻译”成网页形式显示出来 ② 网站 由一个一个页面构成的,是多个网页的结合体 主页 打开网站后出现的第一个网页称为网站主页(或首页)

③ 域名 浏览网页时输入的网址

④ HTTP/HTTPS 用来传输网页的通信协议(是否加密),是一种通讯/交互的标准/规范

⑤ URL 是一种万维网寻址系统

扩展:URI: Uniform Resource Identifier 统一资源标识,分为URL 和 URN

URN:Uniform Resource Naming,统一资源命名 这个资源叫什么具体的名字

示例: P2P下载使用的磁力链接是URN的一种实现 magnet:?xt=urn:btih:660557A6890EF888666(只是描述了资源的名字,并没有明确该资源在 哪里) mac地址全球唯一

URL:Uniform Resorce Locator,统一资源定位符,用于描述某服务器某特定资源位置 资源的具 体位置

⑥ HTML 用来编写网页的超文本标记语言

⑦ 超链接 超链接是将网站中不同网页链接起来的功能

⑧ 发布 将制作好的网页上传到服务器供用户访问的过程

三、web

1.1web概述

互联网:是网络的网络,是所有类型网络的母集

因特网:世界上最大的互联网网络。即因特网概念从属于互联网概念。习惯上,大家把连接在因特网上 的计算机都成为主机。

Web(World Wide Web)即全球广域网,也称为万维网

一种分布式图形信息系统

建立在Internet上的一种网络服务

万维网并非某种特殊的计算机网络,是一个大规模的、联机式的信息贮藏库,使用链接的方法能非常方 便地从因特网上的一个站点访问另一个站点(超链技术),具有提 供分布式服务的特点。万维网是一个 分布式的超媒体系统,是超文本系统的扩充,基于B/S架构实现

URL:万维网使用统一资源定位符(Uniform Resource Locator)来标志万维网上的各种文档,并使每个文档在整个因特网的范围内具有唯一的标识符URL。
HTTP:为解决"用什么样的网络协议来实现整个因特网上的万维网文档'这一难题,就要使万维网客户程序(以浏览器为主,但不限于浏览器)与万维网服务器程序之间的交互遵守严格的协议,即超文本传送协议(HyperText Transfer Protocol)。HTTP是处于应用层的协议,使用TCP传输层协议进行可靠的传送。因此,需要特别提醒的是,万维网是基于因特网的一种广泛因特网应用系统,且万维网采用的是HTTP (80/TCP)和HTTPS (443/TCP)的传输协议,但因特网还有其他的网络应用系统(如:FTP、SMTP等等)。
HTML:为了解决"怎样使不同作者创作的不同风格的万维网文档,都能在因特网上的各种主机上显示出来,同时使用户清楚地知道在什么地方存在着链接"这一问题,万维网使用超文本标记语言(HyperTextMarkup Language),使得万维网页面的设计者可以很方便地用链接从页面的某处链接到因特网的任何一个万维网页面,并且能够在自己的主机品目上将这些页面显示出来。HTML与txt一样,仅仅是是一种文档,不同之处在于,这种文档专供于浏览器上为浏览器用户提供统一的界面呈现的统一规约。且具备结构化的特征,这是txt所不具备的强制规定。
访问浏览器的流程
 

1.2渲染过程

1. 解析 HTML: 浏览器逐行解析 HTML 文档,构建 DOM 树(Document Object Model)。 2. 解析 CSS: 解析 CSS 文件,构建 CSSOM 树(CSS Object Model)。CSSOM 与 DOM 结合形成渲染树。

3. 计算布局(Reflow): 根据渲染树计算每个元素的大小和位置,生成布局。

4. 绘制(Paint): 将每个节点转换为屏幕上的像素,绘制出页面。

1.3web1.0和web2.0

Web1.0
以编辑为特征,网站提供给用户的内容是编辑处理后的,然后用户阅读网站提供的内容这个过程是网站到用户的单向行为
Web1.0以静态单向阅读为主
Web2.0
更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者
加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与
Web2.0特征
用户分享、以兴趣为聚合点的社群、开放的平台,活跃的用户
 

1.4静态页面和动态页面

(1)静态页面定义
1.静态网页是标准的HTML文件

2.扩展名是.htm、.html
例如文本、图像、声音、Flash动画、客户端脚本和ActiveX控件及Java小程序等

3.是网站建设的基础,早期网站一般都由静态网页制作
4.没有后台数据库、不含程序和不可交互的网页
5.相对更新起来比较麻烦,适用于一般更新较少的展示型网站

(2)静态页面特点:
1.每个静态网页都有一个固定的URL,且URL以.htm、.html、.shtml等常见形式为后缀,而不含有"?"

2.网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的

3.静态网页的内容相对稳定,容易被搜索引擎检索
4.静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难
5.静态网页的交互性较差,在功能方面有较大的限制
页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面

(3)动态页面
1.网页URL不固定,能通过后台与用户交互

2.在动态网页网址中有一个标志性的符号——"?"常用的语言有PHP、JSP、Python、Ruby等(4)动态页面特点
1.交互性
网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大势所趋
2.自动更新
无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量因时因人而变
当不同的时间,不同的人访问同一网址时会产生不同的页面
 

总结:

静态页面由于很多内容都是固定的,在功能方面有很大的限制,所以交互性较差

动态网页则可以实现更多的功能,如用户的登录、注册、查询等

四、http协议

1.http协议简介

HTTP(超文本传输协议HyperText Transfer Protocol)协议是互联网上应用最为广泛的一种网络协议,它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。
HTTP/HTTPS是应用层上的协议,建立在传输层TCP之上,客户端通过与服务端进行TCP连接(三次握手),之后发送HTTP请求与接收HTTP响应都是通过访问Socket接口来调用TCP协议实现。
HTTP是一种无状态(stateless)协议,HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理(存储,保存)。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务,提高效率。
 

2.cookie和session

2.1cookie

无状态协议是指协议对事物处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它应答就很快。
HTTP是超本文传输协议,顾名思义,这个协议支持超文本的传输。什么是超文本?说白了就是使用HTML编写的页面。通常,我们使用客户端浏览器访问服务器的资源,最常见的URL也是以html为后缀的文件,因此可以说超文本是网络上最主要的资源。
既然HTTP协议的目的是在于支持超文本的传输,也就是资源的传输,那么客户端浏览器向HTTP服务器发送请求,继而HTTP服务器将相信资源发回给客户端这样一个过程中,无论对于客户端还是服务器,都没有必要记录这个过程,因为每一次请求和响应都是相对独立的,一般而言,一个URL对应着一个唯一的超文本,正是因为这样的唯一性,使得记录用户的行为状态变得毫无意义,所以,HTTP协议被设计为无状态的连接协议符合它本身的需求。
HTTP协议这种特性有优点也有缺点,优点在于解放了服务器,每一次请求"点到为止",不会造成不必要的连接占用,缺点在于如果为了保留状态,每次请求都会传输大量的重复信息内容。
可是随着Web 的不断发展,很多业务都需要对通信状态进行保存.如果是一次性会话的过程:打开浏览器->访问一些服务器内容→关闭浏览器但目前有很多WEB访问场景,并不是一次性会话,而是多次相关的会话,比如:

  • 登录场景

打开浏览器→浏览到登陆页面>输入用户名和密码→访问到用户主页(显示用户名)->修改密码(输入原密码)->修改收货地址.......
问题:在此处登录会话过程中产生的数据(用户会话数据)如何保存下来呢?

  • 购物场景

打开浏览器→浏览商品列表-→加入购物车(把商品信息保存下来)->关闭浏览器打开浏览器->直接进入购物车→>查看到上次加入购物车的商品->下订单→>支付
问题:在购物会话过程中,如何保存商品信息?
以上场景都需要保留会话数据,需要会话管理机制。


会话管理:

为了会话管理,HTTP就需要传输大量重复信息内容的问题,造成大量的网络带宽消耗。于是Cookie和Session技术闪亮登场了,它们可以为用户进行会话管理,实现保存状态。
然而,在许多应用场景中,我们需要保持用户登录的状态或记录用户购物车中的商品。由于HTTP是无状态协议,所以必须引入一些技术来记录管理状态,例如Cookie。
Cookie基于HTTP协议,也叫Web Cookie或浏览器Cookie,是服务器发送到用户浏览器并保存在客户端本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie使基于无状态的HTTP协议记录稳定的状态信息成为了可能。
 

第一次请求过程
浏览器第一次发送请求时,不会携带任何cookie信息服务器接收到请求之后,发现请求中没有任何cookie信息
服务器生成和设置一个cookie.并将此cookie设置通过set_cookie的首部字段保存在响应报文中返回给浏览器
浏览器接收到这个响应报文之后,发现里面有cookie信息,浏览器会将cookie信息保存起来
第二次及其之后的过程
当浏览器第二次及其之后的请求报文中自动 cookie的首部字段携带第一次响应报文中获取的cookie信息服务器再次接收到请求之后,会发现请求中携带的cookie信息,这样的话就认识是谁发的请求了
之后的响应报文中不会再添加set_cookie首部字段


cookie主要用于以下三个方面:
-会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息)

-个性化设置(如用户自定义设置、主题等)
-浏览器行为跟踪(如跟踪分析用户行为等)
 

Cookie技术通过在请求和响应报文中写入Cookie信息来控制客户端的状态。当服务器收到HTTP请求时,服务器可以在响应头里面添加一个Set-Cookie选项。浏览器收到响应后通常会保存下Cookie,之后对该服务器每一次请求中都通过Cookie请求头部将Cookie信息发送给服务器。服务器端发现客户端发送过来的Cookie后,会去检查究竟是从哪一个客户端发来的连接请求,然后对比服务器上的记录,最后得到之前的状态信息.另外,Cookie的过期时间、域、路径、有效期、适用站点都可以根据需要来指定。
 

2.2session

3.cookie和session的区别

cookie和session的相同和不同:

  • cookie通常是在服务器生成,但也可以在客户端生成,session是在服务器端生成
  • session将数据信息保存在服务器端,可以是内存,文件,数据库等多种形式,cookie将数据保存在客户端的内存或文件中
  • 单个cookie保存的数据不能超过4K,每个站点cookie个数有限制,比如IE8为50个、Firefox为50个、opera为30个; session存储在服务器,没有容量限制
  • ·cookie存放在用户本地,可以被轻松访问和修改,安全性不高; session存储于服务器,比较安全cookie有会话cookie和持久*cookie,生命周期为浏览器会话期的会话cookie保存在缓存,关闭浏览器窗口就消失,持久cookie被保存在硬盘,知道超过设定的过期时间;随着服务端session存储压力增大,会根据需要定期清理session数据
  • session中有众多数据,只将sessionID这一项可以通过cookie发送至客户端进行保留,客户端下次访问时,在请求报文中的cookie会自动携带sessionID,从而和服务器上的的session进行关联

cookie缺点:
1、使用cookie来传递信息,随着cookie个数的增多和访问量的增加,它占用的网络带宽也很大,试想假如cookie占用200字节,如果一天的PV有几个亿,那么它要占用多少带宽?
 

PV(访问量): 即Page View, 页面浏览量或点击量,用户每次刷新即被计算一次,PV反映的是浏览某网站 的页面数,PV与来访者的数量成正比,PV并不是页面的来访者数量,而是网站被访问的页面数量

2、cookie并不安全,因为cookie是存放在客户端的,所以这些cookie可以被访问到,设置可以通过插件添加、修改cookie。所以从这个角度来说,我们要使用sesssion,session是将数据保存在服务端的,只是通过cookie传递一个sessionld而已,所以session更适合存储用户隐私和重要的数据
session缺点:
1、不容易在多台服务器之间共享,可以使用session绑定,session复制,session共享解决
2、session存放在服务器中,所以session如果太多会非常消耗服务器的性能cookie和session各有优缺点,在大型互联网系统中,单独使用cookie和session都是不可行的
cookie和session都为了实现的是http的短期的持久化(内存/缓存方式,查询快、效率比较高)cookie是缓存在用户端(client)浏览器中的(默认缓存一天),当下次客户端通过同一个浏览器访问客户端的时候,会优先读取cookie中的缓存信息,向服务端进行请求,同时服务端收到客户端请求的时候,读取到cookie文件,知道客户端之前找的是服务器A处理的任务,为了省事儿,省资源,干脆直接讲请求直接再交给服务器A处理
两者对比:
cookie省服务器性能session更安全
1.为后面服务、集群、功能优化做铺垫
⒉.具体解释了怎么解决HTTP无状态协议的持久化/存储。
 

4.http的各个版本

  • HTTP/0.9:已过时。只接受GET一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持POST方法,所以客户端无法向服务器传递太多信息。
  • HTTP/1.0:这是第一个在通讯中指定版本号的HTTP协议版本,至今仍被广泛采用,特别是在代理服务器中。
  • HTTP/1.1:引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用,能很好地配合代理服务器工作。还支持管道方式机制,即在同--个TCP连接里面,客户端可以同时发送多个请求,以便降低线路负载,提高传输速度。
  • HTTP/2.0:完全多路复用,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序.对应。引入了头信息压缩机制,使用gzip或compress压缩后再发送。支持服务端推送,允许服务器未经请求,主动向客户端发送资源。

5.http的状态码

状态码首位已定义范围分类1xx
100-101                                       信息提示
2xx 200-206                                成功
3xx 300-305                                重定向
4xx 400-415                                客户端错误
5xx 500-505                                服务器错误
生产环境常见的HTTP状态码
消息描述
200    oK   请求成功(其后是对GET和POST请求的应答文档)
301 Moved Permanently    请求的永久页面跳转
403 Forbidden             禁止访问该页面
404 Not Found            服务器无法找到被请求的页面
500Internal Server Error      内部服务器错误
502 Bad Gateway                   无效网关
503Service Unavailable    当前服务不可用

504 Gateway Timeout        网关请求超时

6.http协议流程分析

用户输入URL(地址链接)(http;//www.baidu.com:80/tools.html)客户端获取到端口及主机名后,客户端利用DNS解析域名,首先客户端的浏览器会先找自身的缓存,如果有解析结束,如果没有客户端会去找host文件,如果host文件没有的话,客户端会去找本地的DNS缓存服务器,本地的DNS缓存服务器没有的话,缓存服务器会去找根域,根域没有,会返回一个.com.然后本地缓存服务器会去找顶级域,顶级域没有的话会返回baidu.com.,然后本地缓存服务器会去找二级域,二级域解析完后会返回客户端。
客户端解析到IP地址后会通过TCP的三次握手与服务器建立连接
HTTPS请求的整个过程的详细分析
https://blog,csdn.net/seujava erlarticle/details/90018326
 

五、Apache

1.1概述

1.作为静态页面处理,并且能将动态页面转交给PHP。主要是处理静态页面。

1.2功能

1.提供httpd协议服务 web

2.多个虚拟主机:ip、Port、FQDN;可以用一台物理服务器搭建多个网站

3.CGI:通用网关接口

4.反向代理:代理的是服务端   正向代理:代理的是客户端

5.负载均衡

1.3特性

1.开放源代码、跨平台应用

2.支持多种网页编程语言

3.模板化设计、运行稳定。良好的安全性能

Apache的进程流向:当我们的用户输入了域名或者ip地址,(服务器里)Apache先进行判断,如果是静态页面,他就会给静态请求,最后返回给用户端。如果是动态请求,它会转发动态请求,最后返回给用户端

4.可扩展性:支持插件式架构,Apache可以通过插件实现丰富的功能

5.速度快:Apache优化了请求和响应处理机制

重要概念:

1.高度模块化:core+modules

2.DSO:动态加载、卸载

3.MPM:多路处理模块

1.4MPM工作模式

1.prefork:多线程I/O模型,每个进程响应一个请求,Centos7 httpd默认模型为一个主进程:生成n个子进程,创建套接字,不响应请求多个子进程:工作work进程,每个子进程处理一个请求;系统初始时,预先生成多个空闲进程,等待请求。

是MPM预派生模式,有一个主控制进程,然后生成多个子进程,每一个子进程有一个独立的线程响应用户请求,相对比较占用内存,但是比较稳定,可以设置最大和最小进程数,适合访问量不大的场景

优点:稳定,服务周到

缺点:慢,占用资源,不适合于高并发

2.worker:复用的多进程i/o进程,多进程多线程,iis使用此模型

一个主进程:生成m个子进程,每一个子进程负责生n个线程,每一个线程响应一个请求,并发响应请求:n*m

worker MPM是一种多进程和多线程混合的模型,有一个控制进程,启动多个子进程,每一个子进程包含固定的线程,使用线程来处理请求,当线程不够使用的时候会再启动一个新的子进程,然后在进程里面在启动线程处理请求,由于其使用了线程处理请求,因此可以承受更高的并发。

优点:相比prefork占用的内存较少,可以同时处理更多的请求

缺点:使用keep-alive的长连接方式,某个线程会一直被占据,即使没有使用传输数据,也需要一直等待到超时才会被释放。如果过多的线程,被这样占据,也会导致在高并发场景下的无服务线程可用

所以说:如果线程不够用了,它会创造出新的子进程,然后往里面再启动线程处理请求。

但是你线程多了,即使没有用,也要一直等待,直到等到超时了才会被释放出来。

3.event:事件驱动模型(worker模型的变种)

这里的监听进程和工作进程的关系就有点像:一个组长和多个员工。当有人想要请求这个组帮自己处理任务的时候,他会联系组长,组长要面临很多顾客,他只负责他业务分给自己的组员,于是他跟一个组员说,这里给你个任务,你负责跟这个顾客保持联系,并完成他的请求。当组员完成任务的,它也把会话还给组长,并且处理组长分配的下一个任务。

上面是相较于worker模式的一个改进,主要内容是:一个主线程,生成m个子进程,每一个子进程负责生n个线程。每一个线程响应一个请求,并发响应请求:m*n,有专门的监控线程来管理这些keep-alive类型的线程,当有真实请求时,将请求传递给服务线程,执行完毕后,又允许释放。这样增强了高并发场景下的请求处理能力

与worker模式最大的区别就是:它解决了keep-alive场景下,被长期占用的线程的资源浪费问题。当有(所以拒绝空请求进来)真实请求过来时,将请求传递给服务线程,执行完毕后,又允许它释放

优点:单线程响应多请求,占据更少的内存。

缺点:没有线程安全控制,进程的切换问题

六、LAMP

1.概述

LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP网页编程语言(或者是Python)

Apache ----------》静态页面-----------》静态请求(http/https)

PHP————》动态页面————》动态请求(http/https)

Mysql————》数据库————》数据的存储、读取

以下为大致的数据流向

2.构建LAMP平台顺序

在构建LAMP平台时,各组件的安装顺序依次为Linux,Apache,MySQL,PHP

其中Apache和MySQL的安装并没有严格的顺序要求,而PHP环境的安装一般放到最后,负责沟通web服 务器和数据库系统以协同工作

3.编译安装的优点

1、具有较大的自由度,功能可定制

2、可及时获得最新的软件版本

3、普遍适用于大多数Linux版本,便于一直使用

4.各个组件的作用

(平台)Linux:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提 供更好的稳定性,兼容性(AMP组件也支持Windows、UNIX等平台) 。

(前台)Apache:作为LAMP架构的前端,是一款功能强大,稳定性好的Web服务器程序。该服务器直接面向用户提供网站访问,发送网页,图片等文件内容。

(后台)Mysql:作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站、业务系 统等应用中,各种账户信息、产品信息,客户资料、业务数据等都可以存储到MySQL数据库,其他 程序可以通过SQL语句来查询,更改这些信息。

(中间连接)PHP/python:作为三种开发动态网页的编程语言,负责解释动态网页文件,负责 沟通Web服务器和数据库系统以协同工作,并提供Web应用程序的开发和运行环境。其中PHP是一 种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尤其适合于Web应用开 发。

七、扩展

1.wget工具

一般是用来下载软件安装包的,直接wget加下载网址

-q 静默模式

-c 断点续传

-P /path 保存在指定目录

-O filename 保存为指定文件名,filename 为 - 时,发送至标准输出

--limit-rate= 指定传输速率,单位K,M等

2.curl

curl是基于URL语法在命令行方式下工作的文件传输工具,它支持FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE及LDAP等协议。curl支持HTTPS认证,并且支持HTTP的POST、PUT等方法, FTP上 传, kerberos认证,HTTP上传,代理服务器,cookies,用户名/密码认证, 下载文件断点续传,上载 文件断点续传, http代理服务器管道( proxy tunneling),还支持IPv6,socks5代理服务器,通过http 代理服务器上传文件到FTP服务器等,功能十分强大

-A/--user-agent 设置用户代理发送给服务器

-e/--referer 来源网址

--cacert CA证书 (SSL)

-k/--insecure 允许忽略证书进行 SSL 连接

--compressed 要求返回是压缩的格式

-H/--header "key:value” 自定义首部字段传递给服务器

-i 显示页面内容,包括报文首部信息

 -I/--head 只显示响应报文首部信息

-D/--dump-header 将url的header信息存放在指定文件中

--basic 使用HTTP基本认证

-u/--user 设置服务器的用户和密码

-L 如果有3xx响应码,重新发请求到新位置

-O 使用URL中默认的文件名保存文件到本地

-o 将网络文件保存为指定的文件中

--limit-rate 设置传输速度

-0/--http1.0 数字0,使用HTTP 1.0

-v/--verbose 更详细

-C 选项可对文件使用断点续传功能

-c/--cookie-jar 将url中cookie存放在指定文件中

-x/--proxy 指定代理服务器地址

-X/--request 向服务器发送指定请求方法

-U/--proxy-user 代理服务器用户和密码

-T 选项可将指定的本地文件上传到FTP服务器上

--data/-d 方式指定使用POST方式传递数据

-s --silent Silent mode

-b name=data 从服务器响应set-cookie得到值,返回给服务器

-w 显示相应的指定的报文信息,如:%{http_code},%{remote_ip}等

-m, --max-time 允许最大传输时间

示例:

curl -s -I -m10 -o /dev/null -w %{http_code} http://www.baidu.com/
提取状态码
curl -s -I -m10 -o /dev/null -w %{remote_ip} http://www.baidu.com/
# 服务器
curl -s -I -m10 -o /dev/null -w %{local_ip} http://www.baidu.com/
# 本机地址
curl -s -I -m10 -o /dev/null -w %{local_port} http://www.baidu.com/
# 本地端口 随机的
curl -s -I -m10 -o /dev/null -w %{remote_port} http://www.baidu.com/
# 80

3.压力测试工具

ab:

命令格式:

ab [OPTIONS] URL

选项:

-n:总请求数

-c:模拟的并发数

-k:以持久连接模式测试

示例:

ab -n10000 -c1000 192.168.91.100

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

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

相关文章

React学习笔记(一)——react基础

1. React 介绍 1.1 React是什么 React由Meta公司研发,是一个用于 构建Web和原生交互界面的库 1.2 React的优势 相较于传统基于DOM开发的优势: 组件化的开发方式不错的性能 相较于其它前端框架的优势: 丰富的生态跨平台支持 1.3 React的市场…

国内知名电器集团售后服务系统被黑!损失1.2亿!

两款软件入侵 近期,一款名为“A助手”的软件和另一款“B配置工具”被揭露存在严重的非法活动。 这两款软件被不法分子利用,并成功侵入了某知名企业的电器售后服务系统。通过技术手段,伪造了电器安装服务的工单,并以此骗取了大量的…

24年银行从业资格考试报名照规格要求

24年银行从业资格考试报名照规格要求 #银行从业 #银行从业资格证 #银行从业考试 #银行从业资格考试 #银行从业资格证报名照片 #银从

Unity 波函数坍缩算法随机地图生成

Unity 波函数坍缩算法随机地图生成 波函数波函数基本概念位置空间波函数动量空间波函数两种波函数之间的关系波函数的本征值和本征态波函数坍缩 熵是什么熵作为状态函数时间之箭 实现原理举个例子:2D迷宫地图生成 Unity 如何实现前期准备单元格代码瓦片地图代码波函…

使用亮数据爬虫工具解锁复杂爬虫场景

在当今数据驱动型时代,数据采集和分析能力算是个人和企业的核心竞争力。然而,手动采集数据耗时费力且效率低下,而且容易被网站封禁。 我之前使用过一个爬虫工具,亮数据(Bright Data) ,是一款低…

PCIe学习笔记(25)

数据完整性 PCI Express的基本数据可靠性机制包含在数据链路层(data Link Layer)中,它使用32位的LCRC (CRC)码逐链路检测TLP中的错误,并采用逐链路重传机制进行错误恢复。TLP是一个数据和事务控制单元,由位于PCI Express域“边缘”的数据源(…

重大发现!看Apache与nginx工作模型,享web服务幸福人生

文章目录 文章相关连接如下: Web 服务基础介绍ApacheApache prefork 模型 Apache worker 模型Apache event模型 Nginx-高性能的 Web 服务端nginx源码安装平滑升级和回滚平滑升级步骤:回滚步骤 nginx启动文件 文章相关连接如下: 如果想更多了…

【GH】【EXCEL】P4: Chart

文章目录 data and chartdonut chart (radial chart)Radial Chart bar chartBar Chart line chartLine Chart Scatter ChartScatter Chart Surface ChartSurface Chart Chart DecoratorsChart Decorators Chart GraphicsChart Graphics data and chart donut chart (radial cha…

《面板变系数模型及 Stata 具体操作步骤》

目录 一、文献综述 二、理论原理 三、实证模型 四、稳健性检验 五、程序代码及解释 六、代码运行结果 一、文献综述 在经济和社会科学研究领域,面板数据模型因其能够同时考虑个体和时间维度的信息而被广泛应用。传统的面板数据模型通常假设系数是固定的&#…

1.初识redis

文章目录 1.认识redis1.1 mysql和redis 对比1.2分布式系统1.2.1单机架构与分布式架构1.2.2数据库分离(应用服务器和存储服务器分离)与负载均衡1.2.3负载均衡器1.2.4 数据库读写分离1.2.5 数据库服务器引入缓存1.2.6数据库分库分表1.2.7 引入微服务 2.常见概念解释2.1 应用(Appl…

GoModule

GOPATH 最早的就是GOPATH构建模式, go get下载的包都在path中的src目录下 src目录是源代码存放目录。 package mainimport ("net/http""github.com/gorilla/mux" )func main() {r : mux.NewRouter()r.HandleFunc("/hello", func(w h…

iptables流量走向图

关联教学 https://www.bilibili.com/video/BV1dw411J7Qk/?spm_id_from333.337.search-card.all.click

7.2 算法设计与分析

分治法(考的概率较低) 回溯法(考的概率较低) 动态规划法(考的概率较高) 1

第四届机电一体化、自动化与智能控制国际学术会议(MAIC 2024)

目录 大会官网 会议简介 组织机构 大会主席 程序委员会主席 主讲嘉宾 征稿主题 参会说明 大会官网 http://www.icmaic.org 会议简介 第四届机电一体化、自动化与智能控制国际学术会议(MAIC 2024)将于2024年9月27-29日在中国成都召开。MAIC 20…

高性能MySQL04_操作系统和硬件优化

1. 从软件本身和它运行的典型工作负载来看,MySQL通常也更适合运行在廉价硬件上 2. 基本资源 2.1. CPU 2.2. 内存 2.3. 磁盘 2.4. 瓶颈 2.5. 网络资源 3. CPU 3.1. 最常见的瓶颈是CPU耗尽 3.2. 检查CPU使用率来确定工作负载是否受CPU限制 3.3. 低延迟&…

机器人学——正向运动学(机械臂)

Manipulator Forward Kinematics 机械臂基础概念 Joint and Link 连杆长度、连杆夹角 连杆偏距与关节角 移动关节看距离、旋转关节看角度 如何在杆上建立坐标系 地杆(link0)坐标系的建立 末端杆件坐标系的建立 DH表达法 如何计算出两杆之间的变换矩阵…

Qt鼠标键盘事件监听

普通的程序中. 鼠标事件监听 要监听鼠标事件,你可以使用QMouseEvent类,它提供了多种类型的鼠标事件,如QMouseEvent::MouseButtonPress、QMouseEvent::MouseButtonRelease、QMouseEvent::MouseMove等。 但是离开程序后就很难监听到&#xff0c…

机器学习第十一章--特征选择与稀疏学习

一、子集搜索与评价 我们将属性称为 “特征”(feature),对当前学习任务有用的属性称为 “相关特征”(relevant feature)、没什么用的属性称为 “无关特征”(irrelevant feature).从给定的特征集合中选择出相关特征子集的过程&…

单位订餐小程序开发:便捷高效,重塑职场餐饮新体验

随着移动互联网技术的飞速发展,各行各业都在积极探索数字化转型之路,以提升工作效率与用户体验。在单位日常运营中,餐饮管理作为保障员工基本生活需求的重要环节,其便捷性、高效性直接关系到员工的工作满意度与整体氛围。因此&…

鸿蒙内核源码分析(Fork篇) | 一次调用,两次返回

笔者第一次看到fork时,说是一次调用,两次返回,当时就懵圈了,多新鲜,真的很难理解.因为这足以颠覆了以往对函数的认知, 函数调用还能这么玩,父进程调用一次,父子进程各返回一次.而且只…