实验1: 在阿里云上部署Tomcat服务器
业务背景nginx
Tomcat为网站的服务器,每一个网站在后面都有一个服务器来解析那个网页,Tomcat 对于 Java 来讲它就是一个 Servlet 处理器,支持运行基于 Servlet 的 Java 程序,同时 JSP 自己也是基于 Servlet 的技术,也是支持的,像传说中的 Spring, Struts, JSF 都是基于 Servlet 的,均可以在 Tomcat 上跑起来。web
技术背景更多详情sql
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其余一些公司及我的共同开发而成。因为有了Sun 的参与和支持,最新的Servlet 和JSP 规范老是能在Tomcat 中获得体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。由于Tomcat 技术先进、性能稳定,并且免费,于是深受Java 爱好者的喜好并获得了部分软件开发商的承认,成为目前比较流行的Web 应用服务器。数据库
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是不少的场合下被广泛使用,是开发和调试JSP 程序的首选。ubuntu
实验2: 快速搭建和部署LAMP环境 更多详情centos
LAMP是指Linux(操做系统),ApacheHTTP服务器,MySQL(有时也指MariaDB,数据库软件)和PHP(有时也指Perl或Python)的第一个字母,通常用来创建web应用平台。虽然这些开放源代码程序,自己并非专门设计成同另几个程序一块儿工做的,但因为它们的免费和开源,这个组合开始流行(大多数Linux发行版本捆绑了这些软件)。当一块儿使用的时候,它们表现的像一个具备活力的解决方案包。和Java/J2EE架构相比,LAMP具备Web资源丰富、轻量、快速开发等特色,微软的.NET架构相比,LAMP具备通用、跨平台、高性能、低价格的优点,所以LAMP不管是性能、质量仍是价格都是企业搭建网站的首选平台。缓存
Apache是LAMP架构最核心的Web Server,开源、稳定、模块丰富是Apache的优点。但Apache的缺点是有些臃肿,内存和CPU开销大,性能上有损耗,不如一些轻量级的Web服务器(例如nginx)高效,轻量级的Web服务器对于静态文件的响应能力来讲远高于Apache服务器。Apache作为Web Server是负载PHP的最佳选择,若是流量很大的话,能够采用nginx来负载非PHP的Web请求。nginx是一个高性能的HTTP和反向代理服务器,Nginx以它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Nginx不支持PHP和CGI等动态语言,但支持负载均衡和容错,可和Apache配合使用,是轻量级的HTTP服务器的首选。服务器
PHP的加速使用eAccelerator加速器,eAccelerator是一个自由开放源码PHP加速器,优化和动 态内容缓存,提升了性能PHP脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎彻底消除。它还有对脚本起优化做用,以加快其执行效率。 使PHP程序代码执效率能提升1-10倍。网络
开源的数据库中,MySQL在性能、稳定性和功能上是首选,能够达到百万级别的数据存储,网站初期能够将MySQL和Web服务器放在一块儿,可是当访问量达到必定规模后,应该将MySQL数据库从Web Server上独立出来,在单独的服务器上运行,同时保持Web Server和MySQL服务器的稳定链接。架构
实验3: 在阿里云上部署LNMP 更多详情
LNMP表明的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux:是一类Unix计算机操做系统的统称,是目前最流行的免费操做系统。表明版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx:是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql:是一个小型关系型数据库管理系统。
PHP:是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一块儿,成为一个免费、高效、扩展性强的网站服务系统。
Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为 “engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发的,它已经在该站点运行超过三年了。Igor Sysoev在创建的项目时,使用基于BSD许可。
为何Nginx的性能要比Apache高得多?这得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。目前Linux下可以承受高并发访问的 Squid、Memcached都采用的是epoll网络I/O模型。
处理大量的链接的读写,Apache所采用的select网络I/O模型很是低效。下面用一个比喻来解析Apache采用的select模型和Nginx采用的epoll模型进行之间的区别:假设你在大学读书,住的宿舍楼有不少间房间,你的朋友要来找你。select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止。而epoll版 宿管大妈会先记下每位同窗的房间号,你的朋友来时,只需告诉你的朋友你住在哪一个房间便可,不用亲自带着你的朋友满大楼找人。若是来了10000我的,都要 找本身住这栋楼的同窗时,select版和epoll版宿管大妈,谁的效率更高,不言自明。同理,在高并发服务器中,轮询I/O是最耗时间的操做之 一,select和epoll的性能谁的性能更高,一样十分明了。
在高并发链接的状况下,Nginx是Apache服务器不错的替代品。Nginx同时也能够做为7层负载均衡服务器来使用。Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 能够承受3万以上的并发链接数,至关于同等环境下Apache的10倍。更多详情
※更多文章和资料|点击后方文字直达 ↓↓↓
100GPython自学资料包
阿里云K8s实战手册
[阿里云CDN排坑指南]CDN
ECS运维指南
DevOps实践手册
Hadoop大数据实战手册
Knative云原生应用开发指南
OSS 运维实战手册
云原生架构白皮书
Zabbix企业级分布式监控系统源码文档