首页 程序笔记 介绍 Freenginx,最流行的 Web 服务器的一个分支

介绍 Freenginx,最流行的 Web 服务器的一个分支

Nginx 已被分叉,但它为何以及将如何影响您?

Freenginx 是 Nginx 的一个新分支,Nginx 是一种开源 Web 服务器,为三分之一的网站提供支持。这种分拆是否会取代既定的市场领导者,您为什么要关心它?

什么是 Nginx?

Nginx(发音为“engine x”)是一款免费的开源 Web 服务器,于 2004 年推出。它易于配置,并且还作为代理服务器找到了自己的定位。

据 Netcraft 称,Nginx 的受欢迎程度正在缓慢增长,并在 2019 年超过了其长期的开源竞争对手 Apache 和微软专有的 IIS。

什么是 Freenginx?

2 月 14 日,前 Nginx 开发人员 Maxim Dounin 宣布推出 Freenginx,它是 Nginx 的一个分支。 Maxim 采取这一行动是为了抗议目前拥有 Nginx 的公司 F5 的决定。他写了:

[我]不再将 nginx 视为一个为了公共利益而开发和维护的免费开源项目。

Freenginx 的第一个版本 (1.25.4) 于 2024 年 2 月 20 日发布,修复了一些错误以解决与内存访问相关的缺陷。此类缺陷是常见的安全漏洞,可能允许恶意行为者攻击网站。

Freenginx 比 Nginx 更好吗?我应该开始使用它吗?

经过一次修改后,Freenginx 与其祖先几乎没有什么不同。所有叉子都是这样;随着时间的推移,随着项目遵循不同的路径,分叉将慢慢偏离其原始软件。

Freenginx 的既定目标是更多地关注与安全相关的改进,并由开发人员主导,而不是由管理层自上而下的决策驱动。

随着分支的成熟,任何迁移都将不再是同类的替代。因此,如果您喜欢 Freenginx 的方向,或者想支持开发人员的目标,那么现在是时候做出改变了。

但同样,在比赛的这个阶段也没有必要更换马匹。 Nginx 不会去任何地方,并且始终有权将 Freenginx 的更改合并到其代码库中。

还有哪些其他可用的 Web 服务器?

Apache 仍然是 Nginx 的主要替代品,特别是在默认安装或易于设置的开源生态系统中。这两种网络服务器目前占据着市场份额,并且使用这两种服务器的经验都很有价值。

但这并不能说明全部情况。来自不同来源的市场份额统计数据不一致,如果负责托管大量网站的公司做出改变,潮流可能会迅速改变。

较小的参与者包括 OpenResty(另一个 Nginx 变体,具有托管 Lua 应用程序的利基市场)和 Google 的 GWS。后者由 Google 独家使用,但由于 Google 制作的网站数量众多,因此拥有可见的市场份额。


1

站心网

Nginx 已被分叉,但它为何以及将如何影响您?Freenginx 是 Nginx 的一个新分支,Nginx 是一种开源 Web 服务..

为您推荐

卸载阿里云、腾讯云服务器监控系统教程

所周知,阿里云、腾讯云的服务器都自带监控(AliYunDun/阿里云盾/安骑士),大家都不想自己的所作所为都被监控着,比如我在上面安装XX服务,一旦云监控查到,会被警告,很麻烦,我们总想着自己买的东西能够完全自己..

服务器安装数据库MySQL8.0版本,打包导入到MySQL5.6失败的结局方式

最近数据库升级为mysql8.0,在使用过程中发现一些问题,首先mysql8.0有很多新特性,对服务器配置要求较高,所有就考虑把数据库版本切换到MySQL5.6,经过多出测试处理发现在8.0数据库打包的数据导入到5.6总是报错,或..

宝塔Nginx服务器User-Agent过滤器

这些正则表达式规则主要用于Web服务器或安全系统(如WAF)的User-Agent过滤,旨在识别并拦截自动化工具、恶意爬虫、漏洞扫描器等非人类流量,从而提升网站安全性和资源保护。以下是分点总结:‌核心作用‌‌安全防护..

宝塔Nginx配置图片404处理方法

在宝塔面板中配置Nginx,使其在访问图片不存在时显示指定内容或返回自定义404页面,可以通过以下步骤实现:方法一:显示指定内容登录宝塔面板,进入网站管理页面。选择网站,点击需要配置的网站右侧的“设置”按钮。..

一个简单的大转盘抽奖程序(附.NetCore Demo源码)

最近闲下来在做一些demo,现在讲一下做的一个简单的大转盘抽奖demo,前端lottery,layui,后端.net core,sqlsugar,数据库用的mysql1.前端实现:前端用的是基于开源的lottery,其中有些改动的,使得前端可以自适应pc端..

C#7.0新语法介绍

一、out输出参数在以前使用out输出参数的时候,必须先定义变量,然后才能使用,例如:先定义一个方法,方法参数是out类型的输出参数:private void DoNoting(out int x, out int y){x = 1;y = 2;}以前版本的写法: /..

每一个程序员,都希望能成为分布式系统架构师

有很多读者经常问我,程序员的学习、成长之路应该怎么规划,才能早日成为一名架构师。作为一个曾经的架构师,在我走上技术管理这条路之后,管理的团队越来越大,现在我管理的技术团队有一百多人,最大的体会就是操心..

.NET 9 即将推出的功能Task.WhenEach

.NET 爱好者!我刚刚偶然发现了一个非常酷的新 PR,它被合并到 .NET 运行时存储库中,我想分享一个例子。希望您能为新的 .NET 版本大肆宣传!在即将到来的 .NET 9 版本中,我们预计会有一个名为 .它在这里让您的异步..

针对 Go 语言开发的 SQL 驱动模拟库

数据库交互是几乎所有应用程序不可或缺的一部分,开发者们常常需要对数据库进行各种操作,包括插入、更新、删除和查询等。然而,在开发过程中直接对真实数据库进行操作不仅耗时耗力,还可能带来数据一致性和安全性的..

DockerUI 中文可视化Docker管理工具使用示例

DockerUI 是由国内开发者打造的一款优秀的 Docker 可视化管理工具。该工具拥有简洁直观的UI界面,可以轻松进行Docker主机管理、集群管理,以及Docker任务的编排等操作。DockerUI不仅展示了资源利用率、系统信息和更..

Blazor的N种渲染模式原理和常见问题说明

我们从下面这幅图开始,下图显示了三种渲染模式,分别称之为静态SSR、交互式SSR(即之前的BlazorServer)、交互式CSR(即之前的BlazorWasm)。还有一种渲染模式BlazorHybrid,稍后说。一、先浅层理解一个图例静态SSR:经..

前端CSS常见的三种设计模式

CSS设计模式主要包括OOCSS、SMACSS和BEMCSS等。以下是对这些模式的具体介绍:OOCSS:面向对象的CSS,旨在编写高可复用、低耦合和高扩展的CSS代码。它将抽象(结构)和实现(样式)分离,抽离公共代码,以提高代码的..

WinToUSB | 把Windows塞进U盘里即插即用

不论是在外出差,还是在家临时办公,现在很多设备携带起来都不是那么方便,在这种情况下,有一个轻巧而高效的操作系统环境就显得格外关键。今天,要给大家介绍一款超级实用的便携式系统启动盘,凭借其独特功能和卓越..

.NET Framework被淘汰了吗?

.NET Framework并未完全被淘汰,但它的某些版本确实已经停止支持。微软在2023年11月10日停止了对.NET Framework 4.8之前的版本的支持。这一决策意味着使用这些旧版本的应用程序将不再获得安全更新和其他维护,从而可..

强大的 .NET Mock 框架 单元测试模拟库Moq使用教程

单元测试是确保代码质量和可靠性的重要手段。当我们的代码依赖于外部系统、数据库或第三方服务时,编写有效的单元测试可能会变得复杂且耗时。为了简化这一过程,模拟(Mocking)技术应运而生。在 .NET 生态系统中,M..

CLS 问题:超过 0.1(桌面设备) 是什么意思?

在网页设计和开发中,CLS(Cumulative Layout Shift)是指页面布局的累计偏移量。当一个用户与页面互动时,如果页面的某些元素突然改变位置或大小,导致整个布局发生偏移,就会产生布局偏移。这种偏移可能会影响用户..

Angular UT 模拟执行setTimeout

在 Angular 单元测试中,我们经常需要模拟异步操作,比如 setTimeout。提高测试速度: 真实环境下的 setTimeout 会阻塞测试,导致测试运行时间过长。确保测试的可靠性: 模拟 setTimeout 可以让我们更好地控制异步操..

Angular Mock 一个类的静态方法

理解 Angular Mock 和 静态方法在 Angular 单元测试中,Angular Mock 是一个强大的工具,它允许我们模拟和替换 Angular 的服务、组件和其他依赖项。而静态方法 是属于类本身,而不是类的实例的方法。它们可以直接通..

JavaScript 的 sessionStorage 能否加锁?

直接给 sessionStorage 加锁是不可能的。sessionStorage 的本质: sessionStorage 是浏览器提供的一种用于在当前浏览器会话中存储数据的机制。它存储在客户端,数据仅在当前浏览器窗口或标签页中有效。加锁的必要性..

Redis 同步、击穿、穿透及雪崩简述

对Redis最常见的几个问题,简要的说下我的理解与解决方法。数据同步指Redis做为缓存,在数据变化时,怎么保持与数据库数据同步的。一般解决方案为:缓存双删(同步方案大都采用删除缓存,而不会更新新缓存。缓存击穿..

发表回复

返回顶部