一、服務器軟件:
運行在服務器操作系統之上,綁定了服務器特定的IP地址,並且在某一個端口監聽用戶的請求 ,提供服務的軟件,都可以叫做服務器軟件
二、服務器軟件分類
靜態服務和動態服務
靜態服務返回的是靜態資源,不同用戶無論何時只要訪問同一個服務,看到的內容是一模一樣的,
例如:託管於GitHub的靜態博客 https://pure-xiaojie.github.io/
動態服務返回的是動態資源,根據用戶不同的身份和權限信息返回不同的內容和資源服務器軟件的三個基礎概念:
Web服務器:
提供web化服務【網站頁面化服務、郵件服務、網絡下載的服務】
響應用戶的需求,然後提供服務
HTTP服務器【靜態服務】:
當今Web服務器,應用層通訊協議,主要就是HTTP協議
HTTP服務器只是把服務器上的資源通過HTPP協議形式傳輸給客戶端
應用服務器【常稱爲動態服務器、動態容器】:
一個特定應用的承載容器,需要有運行環境的支持
如Java領域:常用的應用服務器Tomcat
三、常見的輕量級服務器軟件:
1、Nginx:典型的靜態服務器,可做反向代理、負載均衡,一般放在最前面直面用戶,和後端Tomcat打配合;純C寫的,性能賊高、內存消耗極少、穩定性也相當好,互聯網公司重度使用
2、Tengine:阿里出品,基於Nginx服務器做的改造(加強和封裝),對大流量場景做了很多高級功能,性能、穩定性優秀
3、Apache http server:也是靜態服務器,但是不如Nginx
4、IIS:微軟開發,只能用在Windows下,具有應用服務器能力的http服務器
5、Tomcat:Apache出品,典型的應用服務器軟件,符合Servlet標準的應用容器,也可以提供http服務,但一般不會作爲http服務器;是Spring Boot框架默認的內置服務器
6、Jetty:跟Tomcat是一個性質的東西,符合Servlet標準的應用容器,也是Spring Boot框架支持的服務器,但不是默認的
7、Undertow:紅帽子出品,跟Tomcat、Jetty一樣也是Spring Boot框架支持的服務器,但不是默認的;高併發時性能優於Tomcat、Jetty
四、幾款商用重量級的服務器軟件:
1、JBoss(從8版開始更名爲WildFly):不僅是Servlet應用容器,更是EJB的應用容器,整套JavaEE框架部署的解決方案
2、WebLogic:Oracle公司出品,用於部署企業級JavaEE應用,全能型,幾乎支持JavaEE所有的應用規範
3、WebSphere:IBM公司出品,支持更多JavaEE的應用規範的綜合應用服務器