服务器和lamb架构

什么是服务器?
服务器是一种高性能计算机或者说是一种特殊的计算机,它比普通计算机运行更快、负载更高、价格更贵
服务器和普通电脑有什么区别
稳定性:服务器要求7x24(x365)不间断运行
性能性:服务器需要及时响应众多客户端的请求,并提供相应服务,PC一般只由少数人操作
扩展性:PC一般不需要很多外插卡,对扩展性要求不高,而服务器一般需要考虑增加网卡、RAID卡,内存、硬盘等存储位、电源,甚至是CPU的扩展,这些更是服务器的特性
网络中的角色:用户直接操作PC进行,发出服务请求,是客户端;服务器工作在后台,只和发出服务请求的客户机进行通信,是服务提供者
多机协同性:服务器可由多台构成一个集群,共同提供服务,PC往往独立工作
图形显示、键盘和鼠标的要求:普通台式机和显示器、键鼠等都是一对一的,一般对显卡性能有要求,服务器不直接和用户交互对显卡性能基本无要求,一般键盘鼠标显示器是多台共用的
管理能力:多数服务器在主板上集成了各种传感器,用于检测服务器上的各种硬件设备,同时配合相应管理软件,可以远程监测服务器,从而使网络管理员对服务器系统进行及时有效的管理。有的管理软件可以远程检测服务器主板上的传感器记录的信号,对服务器进行远程的监测和资源分配示器是多台共用的。
CPU:服务器CPU的指令一般是采用的RISC(精简指令集),好处就是针对性更强,可以根据不同的需求进行专门的优化,处理效更高。普通电脑采用CISC(复杂指令集),他的特点就是尽量把各种常用的功能集成到一块。
操作系统;比如我们熟悉的NT,2000 SERVER,2003 SERVER,LINUX,SOLRAIS和UNIX等等,都是专门针对服务器设计的
可靠性、安全性:服务器采用专用的ECC内存、RAID技术、热插拔技术、冗余电源(如图1所示)、冗余风扇等方法使服务器具备容错能力、安全保护能力

服务器的组成
cpu,raid卡,内存组,硬盘,远程管理卡,主板,光驱,风扇,电源等

服务器的分类
按照服务器的外形结构来分可以分为塔式服务器、机架式服务器和刀片服务器
按处理器数量分类
“路”都是指服务器物理CPU的数量,也就是服务器主板上CPU插槽的数量。
单路:指服务器支持1个CPU
双路:指服务器支持2个CPU
四路:指服务器支持4个CPU
多路:指服务器支持多个CPU
按照处理器架构来分可以分为RISC构架服务器和IA-64服务器(采用x86架构)
按照服务类型分为web服务器,dns服务器,ftp服务器,SMTP服务器等

补充:“U”在服务器领域中特指机架式服务器厚度,是一种表示服务器外部尺寸的单位,是unit的缩略语。厚度以4.445cm为基本单位。1U就是4.445cm,2U则是1U的2倍为8.89cm。也就是说,所谓“1U的机架式服务器”

什么是web服务器?
Web服务器也称为WWW (WORLD WIDE WEB)服务器、HTTP服务器,其主要功能是提供网上信息浏览服务。
补充:Unix和Linux平台下常用的服务器有Apache、Nginx、Lighttpd、Tomcat、IBM WebSphere等,其中应用最广泛的是Apache。而Window NT/2000/2003平台下最常用的服务器是微软公司的IIS。
1、Apache是世界上应用最多的WEB服务器,优势主要在于源代码开放、有一支开放的开发队伍、支持跨平台应用以及其可移植性等。Apache的模块支持非常丰富,虽在速度和性能上不及其他轻量级WEB服务器,是属于重量级产品,所消耗的内存也比其他WEB服务器要高。
2、Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的web应用软件容器,Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行
3、Nginx是一款高性能的HTTP和反向代理服务器,能够选择高效的epoll、kqueue、eventport最为网络I/O模型,在高连接并发的情况下,能够支持高达5万个并发连接数的响应,而内存、CPU等系统资源消耗却非常低,运行非常稳定。
4、IIS是一种WEB服务组件,允许在公共Intranet或Internet上发布信息的WEB服务器,其中包括WEB服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络上发布信息成了一件很容易的事情。它提供ISAPI作为扩展WEB服务器功能的编程接口,同时还提供了Internet,可以实现对数据库的查询和更新。
三者之间的关系
nginx / apache是一辆卡车,上面可以装一些东西如html等(静态的)。但是不能装水(动态的),要装水必须要有桶(容器),Tomcat就是一个桶(装像Java这样的水),而这个桶也可以放在车上,也可以不放在卡车上。

 客户端(浏览器):人;
 nginx / apache:卡车;
 静态页面:毛巾;
 tomcat:水桶;
 动态页面:水。
人要拿毛巾,可以直接从卡车上拿取;
人要拿水,需要先通过卡车找到车上的桶,才能取得(桶可以不放在车上,把桶单独放在别的地方人也可以取到水);

web服务器的工作原理

(1) 用户做出了一个操作,可以是填写网址敲回车,可以是点击链接,可以是点击按键等,接着浏览器获取了该事件。
(2) 浏览器与对端服务程序建立TCP连接。
(3) 浏览器将用户的事件按照HTTP协议格式**打包成一个数据包,其实质就是在待发送缓冲区中的一段有着HTTP协议格式的字节流。
(4) 浏览器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到对端服务程序。
(5) 服务端程序拿到该数据包后,同样以HTTP协议格式解包,然后解析客户端的意图。
(6) 得知客户端意图后,进行分类处理,或是提供某种文件、或是处理数据。
(7) 将结果装入缓冲区,或是HTML文件、或是一张图片等。
(8) 按照HTTP协议格式将(7)中的数据打包
(9) 服务器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到客户端。
(10) 浏览器拿到包后,以HTTP协议格式解包,然后解析数据,假设是HTML文件。
(11) 浏览器将HTML文件展示在页面

为什么选择lamp架构?

1.动态站点处理性能最突出
2.安装 LAMP 软件是非常容易的
3.具有通用、跨平台、高性能、低价格
4.具有成本低廉、部署灵活、快速开发、安全稳定

什么是lamp架构?

把Apache MySQL PHP 安装在linux系统上,组成一个环境来运行PHP网站。这里的Apache是httpd服务。这些可以安装在一个机器上,也可以安装在多台机器上,但是httpd和PHP安装在一台机器上(php作为httpd的一个模块存在的。 他们两者必须要在一起,才能实现效果)

补充:
LAMPLinux+Apache+Mysql+PHP (擅长处理动态站点)
LNMP
Linux+Nginx+Mysql+PHP (擅长处理静态站点)
LNMPA==Linux+Nginx+Mysql+PHP+Apache
补充:
静态网页
在静态Web程序中,客户端使用Web浏览器(IE、FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务器我现在需要得到哪个页面,所有的请求交给Web服务器,之后WEB服务器根据用户的需要,从文件系统(存放了所有静态页面的磁盘)取出内容。之后通过Web服务器返回给客户端,客户端接收到内容之后经过浏览器渲染解析,得到显示的效果。
动态网页
动态WEB中,程序依然使用客户端和服务端,客户端依然使用浏览器(IE、FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Request),现在的所有请求都先经过一个WEB Server来处理。如果客户端请求的是静态资源(.htm或者是.htm),则将请求直接转交给WEB服务器,之后WEB服务器从文件系统中取出内容,发送回客户端浏览器进行解析执行。如果客户端请求的是动态资源(.jsp、.asp/.aspx、.php),则先将请求转交给WEB Container(WEB容器),在WEB Container中连接数据库,从数据库中取出数据等一系列操作后动态拼凑页面的展示内容,拼凑页面的展示内容后,把所有的展示内容交给WEB服务器,之后通过WEB服务器将内容发送回客户端浏览器进行解析执行。

怎么安装lamp?
方法一:yum安装
特点:可快速安装LAMP全套组件,安装简单快捷,自动处理各种依赖关系
##yum方式安装:(安装rpm包)
rpm 是linux的一种软件包名称,以.rmp结尾,安装的时候语法为:rpm -ivh。rpm包的安装有个很大的缺点就是文件的关联性太大,有时装一个软件要安装很多其他的软件包,很麻烦。所以为此RedHat小红帽开发了yum安装方法,他可以彻底解决这个关联性的问题,很方便,只要配置两个文件即可安装,安装方法是:yum -y install 。yum并不是一中包,而是安装包的软件。简单的说: rpm 只能安装已经下载到本地机器上的rpm 包. yum能在线下载并安装rpm包,能更新系统,且还能自动处理包与包之间的依赖问题,这个是rpm 工具所不具备的。

方法二:源码安装
特点:自定义模块,更多定制功能,安装繁琐复杂

安装过程:
	下载源码包(tar.gz,tar.bzip2)
	配置(./configure)

##–prefix=/的作用是:编译的时候用来指定程序存放路径
##指定路径的好处:A. 不指定prefix,可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc。其它的资源文件放在/usr /local/share ,比较凌乱 B.当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可,所以卸载软件或移植软件就比较方便
##预编译处理依赖关系
configure: error: APR not found
APR-util not found
pcre-config not found
##echo $?查看配置是否成功 如果为0 说明执行成功。如果非0 说明执行失败

	编译(make)
	安装(make install)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值