服务器知识

服务器指什么

服务器的硬件:是一台性能、稳定性、扩展性高于个人PC的机器,也需要搭载专门的服务系统,eg:Windows server、各式Linux发行版操作系统。

服务器软件层面:运行在服务器操作系统之上,绑定了服务器特定的IP地址,在某一个端口监听用户的请求提供服务的软件。

静态服务和动态服务的区别

静态服务:主要提供静态资源,不同用户访问到的资源相同。Eg:Hexo、Hugo属于典型的静态博客
动态服务:提供动态服务,不同用户访问到的资源不同。Eg:Halo、WordPress属于动态博客,有后台应用服务,需要单独的应用服务器的承载。

Web服务器概念

广义上来说,就是响应用户的需求,提供服务,当下所有的服务器软件都可以称之为 web 服务器软件。

HTTP服务器概念(静态服务)

使用HTTP协议传输资源,提供服务。侧重于等于静态资源传输的支持。

应用服务器概念(动态服务)

一个特定应用的承载容器,一般需要有运行时环境的支持。eg:Java领域 常用的应用服务器Tomcat,需要Java的runtime运行时环境的支持

常见的轻量级服务器软件

1、Nginx:典型的静态服务器,可做反向代理、负载均衡,一般放在最前面直面用户,和后端Tomcat打配合;纯C写的,性能贼高、内存消耗极少、稳定性也相当好,互联网公司重度使用.

2、Tengine:阿里出品,基于Nginx服务器做的改造(加强和封装),对大流量场景做了很多高级功能,性能、稳定性优秀

3、IIS:微软开发,只能用在Windows下,具有应用服务器能力的http服务器

4、Tomcat:Apache出品,典型的Java应用服务器软件,符合Servlet标准的应用容器,也可以提供http服务,但一般不会作为http服务器;是Spring Boot框架默认的内置服务器

5、Jetty:跟Tomcat是一个性质的东西,符合Servlet标准的应用容器,也是Spring Boot框架支持的服务器,但不是默认的

6、Undertow:红帽子出品,跟Tomcat、Jetty一样也是Spring Boot框架支持的服务器,但不是默认的;高并发时性能优于Tomcat、Jetty

商用重量级服务器软件

1、JBoss(从8版开始更名为WildFly):不仅是Servlet应用容器,更是EJB的应用容器,整套JavaEE框架部署的解决方案

2、WebLogic:Oracle公司出品,用于部署企业级JavaEE应用,全能型,几乎支持JavaEE所有的应用规范

3、WebSphere:IBM公司出品,支持更多JavaEE的应用规范的综合应用服务器