服务器软件大扫盲

时间:2022-09-02 23:26:26 | 浏览:662

作者 | 沉默王二责编 | Carol头图 | CSDN下载自视觉中国先说一句哈,自从在 B 站开始刷视频后,我就觉得要学的内容实在是太多了。这篇“服务器软件大扫盲”就是我看了羊哥的一期视频后有感而发的,比如说 Web 服务器、HTTP 服

作者 | 沉默王二

责编 | Carol

头图 | CSDN下载自视觉中国

先说一句哈,自从在 B 站开始刷视频后,我就觉得要学的内容实在是太多了。这篇“服务器软件大扫盲”就是我看了羊哥的一期视频后有感而发的,比如说 Web 服务器、HTTP 服务器、应用服务器这三个概念,我是见过很多次,但如果你非要我说出它们之间的区别的话,我只好哑口无言。

还有,我自己用过的 Tomcat、Nginx、Apache、Jetty、Undertow,它们之间有什么优缺点,嗯......继续哑口无言。可能有很多小伙伴和我一样,用过,但具体的差别还真的说不上来,所以我打算借这个机会来和大家一起学习下。

(我就是课代表,我骄傲)

先来说 Web 服务器,它一般指的是网站服务器,可以向浏览器(PC端或者移动端)等 Web 客户端提供服务,供请求数据或者下载数据。服务器使用 HTTP (超文本传输协议)和客户端浏览器进行通信,因此我们也把 Web 服务器称作为 HTTP 服务器。

再来说应用服务器,它是一种软件框架,提供一个应用程序运行的环境。通常用于为应用程序提供安全、数据、事务支持、负载平衡大型分布式系统管理等服务。

在我看来,Web 服务器和应用服务器之间的界限已经非常模糊,后者更高级一点,就好像公司与企业这两个名词之间的差别。

常见的 Web 服务器软件包括 Nginx、Apache、IIS,常见的应用服务器软件包括 WebLogic、JBoss,前者更轻量级,后者更重量级。

接下来,我们就来唠唠常见的一些服务器软件。

01、Tomcat

就我的程序生涯来看,Tomcat 用的算是最多了,没有之一。如果 Tomcat 安装成功的话,可以在本地的浏览器中访问 http://127.0.0.1:8080 来展示它的默认首页,见下图。

Tomcat 是由 Apache 软件基金会属下 Jakarta 项目开发的 Servlet 容器,实现了对 Servlet 和 JavaServer Page(JSP)的支持,并提供了作为 Web 服务器的一些特有功能。

JSP 是由 Sun Microsystems 公司主导建立的一种动态网页技术标准。JSP 可以响应客户端发送的请求,并根据请求内容动态地生成 HTML、XML 或其他格式文档的 Web 网页,然后返回给请求者。

JSP 以 Java 语言作为脚本语言,为用户的 HTTP 请求提供服务,并能与服务器上的其它 Java 程序共同处理复杂的业务需求。我是一名三线城市的 Java 程序员,免不了要开发一些小型网站,这也就是为什么我用 Tomcat 最多的原因。

02、Nginx

Nginx 是一款轻量级的 Web 服务器、也支持反向代理,由于它的内存占用少,启动极快,高并发能力强,所以在互联网项目中广泛应用。

关于 Nginx,比较令人遗憾的一件事是,它的作者伊戈尔·赛索耶夫进了监狱。

Nginx 在官方测试的结果中,能够支持五万个并行连接,国内比较有名的公司,比如说百度、京东、新浪、网易、腾讯、淘宝等都在使用。

不知道你有没有听过虚拟主机的概念,就是在 Web 服务里有一个独立的网站站点,这个站点对应独立的域名(也可能是IP 或端口),具有独立的程序及资源,可以独立地对外提供服务供用户访问。

虚拟主机有三种类型:基于域名的虚拟主机、基于端口的虚拟主机、基于 IP 的虚拟主机。

Nginx 可以使用一个 server{}标签来标识一个虚拟主机,一个 Web 服务里可以有多个虚拟主机标签对,即可以同时支持多个虚拟主机站点。这一点,非常的实用。

03、Apache

最开始的时候,我以为 Apache 就是 Tomcat,傻傻分不清楚。后来知道它们完全不同,logo 就不同(说什么大实话)。

Apache 一般是指 Apache HTTP Server,是 Apache 软件基金会(和 Tomcat 同属一家基金会,因此容易混淆)下的一个网页服务器软件。由于其跨平台和安全性,被广泛使用,是最流行的 Web 服务器软件之一。它快速、可靠并且可通过简单的 API 扩展。

我是在服务器上安装 WordPress 的时候用到了 Apache,当时并不知道有 LAMP 的存在,所以安装的过程中吃了很多苦,关键是最后没有安装成功,大写的尴尬。

最后还是在青铜群里的一个群友的远程帮助下才完成安装的,他是搞 PHP 的。LAMP 就是他告诉我的,安装起来非常的傻瓜式,非常适合我这种对命令行有抗拒心理的程序员。

LAMP 是指一组运行动态网站或者服务器的自由软件名称首字母缩写:

  • Linux,操作系统(一般服务器软件都安装在 Linux 上,性能极佳)

  • Apache,网页服务器(就是 Apache HTTP Server)

  • MariaDB 或 MySQL,数据库管理系统

  • PHP、Perl 或 Python,脚本语言

这些软件配合起来使用的时候,极具活力,它的变体还有很多,另外一个比较有名的就是 LNMP,用 Nginx 代替 Apache。

04、Jetty

Jetty 和 Tomcat 有很多相似之处,比如说可以为 JSP 和 Servlet 提供运行时环境。Jetty 是 Java 语言编写的,它的 API 以一组 JAR 包的形式发布。

与 Tomcat 相比,Jetty 可以同时处理大量链接并且长时间的保持这些链接,例如,一些 Web 聊天应用非常适合用 Jetty 服务器,比如说淘宝的 Web 版旺旺。

Jetty 的架构比较简单,它有一个基本数据模型,这个数据模型就是 Handler,所有可以被扩展的组件都可以作为一个 Handler,添加到 Server 中,Jetty 就是帮我们管理这些 Handler 的。

05、Undertow

Undertow 是一个用 Java 编写的、灵活的、高性能的 Web 服务器,提供基于 NIO 的阻塞和非阻塞 API。

Undertow 可以嵌入到应用程序中或独立运行,只需几行代码,非常容易上手。下面这段代码是官网提供的一个使用 Async IO 的简单 Hello World 服务器示例:

public class HelloWorldServer {
public static void main(final String[] args) {
Undertow server = Undertow.builder
.addHttpListener(8080, "localhost")
.setHandler(new HttpHandler {
@Override
public void handleRequest(final HttpServerExchange exchange) throws Exception {
exchange.getResponseHeaders.put(Headers.CONTENT_TYPE, "text/plain");
exchange.getResponseSender.send("Hello World");
}
}).build;
server.start;
}
}

直接运行后,在浏览器中地址栏中输入 http://localhost:8080就可以访问到了。是不是感觉非常轻巧?

如果有小伙伴使用过 JFinal 开发过小型网站的话,对 Undertow 应该不会陌生,因为 JFinal 的默认容器已经切换到了 Undertow。

JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。

06、企业级

至于其他的一些企业级服务器软件,我个人没有用过,就不细说了。

  • JBoss,红帽子收购过,后更名为 WildFly。

  • WebLogic,甲骨文出品。

  • WebSphere,IBM 公司出品。

相信小伙伴们看了出品方,就知道这些服务器软件足够的重量级,都是大佬,都是大佬。

声明:本文为作者投稿,版权归其个人所有。

☞Flash 已死,Deno 当立?

☞OceanBase 十年:一群追梦人的成长史

☞2 年 6 个月 11 天,外包到阿里的修仙之路!| 原力计划

☞服务器软件大扫盲!

☞绝悟之后再超神,腾讯30篇论文入选AI顶会ACL

☞中本聪并没有出现,那真相是?

相关资讯

搭建网站用云服务器吗

很多服务商也提供完善的API,方便用户搭建自动化运维管理平台,可最大限度与现有资源进行整合,提升效率。以为例,云主机CPU、内存各项性能指标业界领先,同时有本地SSD盘云主机,提供超高IOPS性能。通过用户之间CPU、IO、网络的相互隔离及用户之间100%的完全网络隔离,有效防止用户间由于资源侵占而产生的性能干扰,实现故障和安全性的隔离。

什么是dns服务器

dns服务器即系统,域名系统为Internet上的主机分配域名地址和IP地址。执行域名和ip转化过程的服务器称之为dns服务器,通过dns服务器来应答域名服务的查询。常见的DNS服务器类型常见的DNS服务器类型

云服务器买几年送几年

云服务器买几年送几年,基本上都没有这样赠送时长的活动了。现在云服务器一般是购买时间越长,价格算下来越便宜。大多云服务商在促销活动时,推出优惠活动多种多样,如满减、打折、秒杀、拼团、代金券、购物卡等等。

竞逐云游戏风口,先从服务器入手

电子发烧友网报道(文/周凯扬)在云端生态的爆发式增长下,越来越多的应用场景开始走向混合云、多云和云原生,游戏也是如此。随着重度游戏对硬件的要求越来越高,云游戏让用户无需购买新的硬件、进行频繁的下载、安装和更新的操作,也能随时随地畅玩,还不用

全球共13台根服务器,美国独占10台,美国人断我们的网怎么办?

目前全球共有13台根服务器,其中美国独占10台,那如果美国从根服务器下黑手,能直接让我们断网吗?美国这种隔着千山万水去干涉他国网络的行为,主要是依靠于自己强大的互联网技术,因为美国正是互联网的发源地,直到现在在互联网领域它也拥有着非常强大的

全球AI服务器市场破千亿元,浪潮信息市占率达20.9%

【环球网科技综合报道】近日,国际数据公司IDC发布2021H2《全球人工智能市场半年度追踪报告》。报告显示,2021全年,全球人工智能服务器市场规模达156亿美元(约合人民币1006亿元),浪潮信息市场占有率达20.9%,份额同比提升3.6

服务器市场两极分化 x86架构关注度分析!

服务器是当代社会最重要的ICT基础设施之一,为全网提供计算资源。随着云计算和大数据技术的成长,x86服务器因其弹性、可靠、灵活、可扩展和高性价比深受企业IT和数据中心的欢迎。有人说“服务器市场在沉默中变革,在无声中挣扎”,也有人说“服务器市

联想推出八大服务器新品,联想大脑已经走进智造产线

智东西(公众号:zhidxcom)作者 |李水青编辑 |心缘智东西4月30日报道,近日,在联想企业科技集团媒体沟通会上,联想ISG中国区产品事业部及战略运营总经理吴彬等高管就公司的最新战略、最新产品及行业方案的布局进行了深入探讨。2021年

算力比肩数据中心,办公室就能用!NVIDIA推全球首台千万亿级工作组服务器

智东西(公众号:zhidxcom)作者 | 温淑编辑 | 漠影智东西12月3日消息,拥有超7900万用户的日本移动运营商NTT Docomo,正在开发图像识别解决方案等创新的AI驱动应用。这套AI解决方案的核心,正是NVIDIA推出的工作组

服务器种类及区别介绍!

服务器种类及区别按照不同的分类标准,服务器分为许多种,主要有按网络规模、按架构(芯片)、按用途、按外观1、按网络规模划分按网络规模划分,服务器分为工作组级服务器、部门级服务器、企业级服务器。工作组级服务器 用于联网计算机在几十台左右或者对处

友情链接

天天财经元宇宙中国SEO域名抢注宝宝起名网网站监控生肖兔运势网山西旅游网陕西旅游网口子窖A股今日渭南iphone资讯网摄影爱好者萧氏免费取名网原油期货网出国留学网西湖龙井茶官网娱乐圈网荆州新闻头条网祁门红茶官网今日聊城今日宿州云南旅游网普法网海口新闻头条网肇庆新闻头条网周氏周易起名官网南宁新闻资讯网南方航空股票无名电影影评网美的集团A股php编程知识英国旅游网桂林旅游网郴州新闻头条网十堰新闻头条网
服务器是提供计算服务的设备。通常是指那些具有较高计算能力,能够提供给多个用户使用的计算机。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。
云服务器技术网 ppzhi.net©2022-2028版权所有