首页 > 编程知识 正文

全球几大服务器(国外大带宽服务器)

时间:2023-05-04 16:51:10 阅读:99939 作者:963

作者|沉默国王二

编辑|卡罗尔

标题| CSDN从视觉中国下载

首先,从我开始在b站刷视频开始,就觉得要学的东西真的太多了。这种“服务器软件素养”是我看了dtdkl的第一个视频后的感受。比如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软件基金会开发的Servlet容器,对Jakarta项目无动于衷。它支持servlets和JavaServer Page(JSP),并作为Web服务器提供了一些独特的功能。

JSP是由太阳微系统公司建立的动态网页技术标准。JSP可以响应客户端发送的请求,根据请求的内容动态生成HTML、XML或其他格式文档的Web页面,然后返回给请求者。

JSP以Java语言为脚本语言,为用户的HTTP请求提供服务,可以和服务器上的其他Java程序一起处理复杂的业务需求。我是一个三线城市的Java程序员,所以要开发一些小网站,这也是我用Tomcat最多的原因。

02、Nginx

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

关于Nginx,可惜它的作者dzdyx进了监狱。

根据官方测试结果,Nginx可支持5万个并行连接,这些连接被百度、JD.COM、新浪、网易、腾讯、淘宝等国内知名公司使用。

不知道大家有没有听说过虚拟主机的概念,就是在Web服务中有一个独立的网站,对应一个独立的域名(或者IP或者端口),有独立的程序和资源,可以独立提供服务给用户访问。

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

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

00-1010年初,我以为阿帕奇是Tomcat,很迷茫。后来知道两者完全不一样,logo就不一样了(说实话)。

Apache一般指的是Apache HTTP Server,是Apache软件基金会(和Tomcat是同一个基金会,所以容易混淆)下的一个web服务器软件。由于它的跨平台性和安全性,它被广泛使用,也是最流行的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 {@Overridepublic 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

☞危机的方盒并没有出现,那真相是?

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。