服务器为什么大多用 Linux?

这个事,**IIS(微软的 Web Server)**至少要负一大半责任。

首先,大家不要去按照现在Linux的情况跟Windows比。

很多东西在发展过程中就是一种生态强弱的比较。在那个关键的时间点,你的生态强,大家都用你,那么你就统治了行业。

然后回头再看,当时很重要的那个业务或者特性,后面已经不存在了。但统治地位建立了,就很难逆转了。

就像安卓当年的一大优势就是允许刷机,对安卓的促进还是挺大的,但现在厂商都开始禁止 root 和 bootloader 解锁了。

Linux 统治服务器端,完全是 Linux 的WebServer打败 Windows 的 WebServer 的过程。

在大概 2000 年的时候,Windows 的 WebServer 其实还是有一定优势的。

  • 自带 FTP 功能。
  • ASP 动态网页不需要额外部署软件。(当时 ASP 还是挺好用的一种开发语言)
  • 有图形界面来做配置,适合小白管理员。

但很快,Windows 太封闭的问题,就开始有很大影响了。

IIS 在 apache + nginx + lighttpd 面前,被打得毫无还手之力。

首先是对 php、ruby 等越来越多的开发语言,支持太差。

IIS 过度绑定asp.net,其他开发语言在上边部署经常出现各种各样的幺蛾子。

2005 年前后那会,正是各种开发语言井喷的时间,大家对 apache 的兼容性,都要好于对 IIS 的兼容性。

IIS 搞那一大堆权限、运行生命周期啥的,让很多语言的 runtime 难以适从。

其次是,IIS 的性能被 nginx 和 lighttpd 吊打了。

这两个基于 poll 和 epoll 的项目,因为项目特别轻量,所以性能上往往能够拿出 IIS 几倍的并发能力来。

加上 IIS 把自己的配置搞得太复杂、太难以调试了,导致很多用户根本不会做性能优化。

这两个原因,让 Web Server 业务基本就被 Linux 抢走了。

你抢走了刚需业务,那么非刚需业务自然也不会用 Windows Server,也不会用asp.net。

这些公司为了简化自己的技术栈,就从头到尾都用 Linux 了。

当然了,上边这段陈述也隐藏了另一个原因,asp.net 输给了 php、jsp 等开发语言,也加速了 Windows Server 的失败。(php 好像一度市场占有率超过 80%)

相关推荐
爱莉希雅&&&16 分钟前
Docker 部署 MySQL 双主双从同步架构详细笔记
linux·运维·数据库·mysql·docker·架构·主从同步
Alex艾力的IT数字空间7 小时前
在 Kylin(麒麟)操作系统上搭建 Docker 环境
大数据·运维·缓存·docker·容器·负载均衡·kylin
嵌入式学习和实践7 小时前
虚拟机 Ubuntu 磁盘扩容完全指南:从原理到实践,一步到位
linux·ubuntu·磁盘扩容
陳10308 小时前
Linux:进程间切换与调度
linux·运维·服务器
lcreek8 小时前
Linux 虚拟文件系统的建立与使用全过程解析
linux·虚拟文件系统·vfs
寒秋花开曾相惜9 小时前
(学习笔记)第四章 处理器体系结构
linux·网络·数据结构·笔记·学习
疏星浅月9 小时前
虚拟内存三大核心作用详解
linux·c语言·arm开发·嵌入式硬件
邂逅星河浪漫10 小时前
【银行内网开发-管理端】Vue管理端+Auth后台开发+Nginx配置+Linux部署(详细解析)
linux·javascript·css·vue.js·nginx·html·前后端联调
JJay.10 小时前
Android BLE 稳定连接的关键,不是扫描,而是 GATT 操作队列
android·服务器·前端
SilentSamsara10 小时前
TCP 三次握手:连接建立失败的那些坑
运维·服务器·网络·网络协议·tcp/ip