探索

常见的web服务器有哪些

时间:2010-12-5 17:23:32  作者:知识   来源:探索  查看:  评论:0
内容摘要:```html 常见的web服务器有哪些 body { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helveti

```html 常见的服务web服务器有哪些

常见的web服务器有哪些

打开浏览器输入网址,敲下回车,服务页面跳出来。服务这背后有个程序在默默处理请求、服务拼装内容、服务再吐回给浏览器。服务这个程序就是服务web服务器。它不负责写页面逻辑,服务也不管数据库查询,服务它只干一件事:接收HTTP请求,服务返回HTTP响应。服务干这件事的服务软件有很多种,但真正被大规模部署的服务,翻来覆去就那么几个。服务

Apache HTTP Server 是服务绕不开的老家伙。1995年发布,到现在快三十年。它的模块化设计让当年无数运维能靠加载mod_php、mod_ssl就撑起一个网站。我见过一个跑了十几年的内部系统,配置文件里堆了几百行<Directory>和<Location>,管理员说“能跑就别动”。Apache的.htaccess文件是个双刃剑——共享主机时代它给了用户改配置的自由,但也让请求处理多了一层磁盘IO。现在新项目很少首选Apache,但存量市场大得吓人。它像一台老式手动挡卡车,费油,但拉得多。

Nginx 是后来者,2004年由俄罗斯人Igor Sysoev写出来解决C10K问题。事件驱动、异步非阻塞,一个worker进程能扛几万个连接。我第一次把Apache换成Nginx时,同一台1核1G的VPS,静态文件吞吐量翻了将近四倍。Nginx的配置文件比Apache清爽,server块里写location,正则匹配规则清晰。它现在常被放在最前面做反向代理和负载均衡,后面挂一堆应用服务器。有个做电商的朋友,大促时Nginx扛住峰值QPS 12万,CPU才跑到60%。这东西写起来像瑞士军刀,但别指望它处理动态请求——它不擅长跑PHP或Python,得靠FastCGI或uWSGI转交。

IIS 是Windows生态里的默认选项。如果你在微软技术栈里,ASP.NET应用配IIS最省心。图形化管理界面点几下就能配好站点、绑定证书、设应用程序池。但IIS的坑在于应用程序池回收——默认1740分钟回收一次,回收瞬间所有会话丢失。我见过一个半夜被叫醒的运维,就是因为没改这个默认值,用户登录状态全没了。IIS性能不差,但许可成本和Windows授权绑在一起,互联网公司用得少,企业内部系统用得多。

Lighttpd 和 Caddy 属于小众但有意思的。Lighttpd当年以轻量出名,嵌入式设备上常见,现在被Nginx挤得没什么声音。Caddy是这几年的新秀,最大卖点是自动HTTPS——配置文件里写个域名,它自己去Let's Encrypt申请证书、续期、加载,全程不用你管。我拿Caddy搭过个人博客,Caddyfile就三行,证书自动搞定,省心到有点不真实。但Caddy的性能和生态成熟度跟Nginx比还有差距,大流量场景下大家还是更信Nginx。

Tomcat、Jetty、Undertow这些严格说不是通用web服务器,它们是Servlet容器,主要跑Java应用。Tomcat自己也能处理HTTP,但生产环境一般前面放Nginx做静态资源和反向代理,Tomcat只负责跑.war包。Jetty更轻,常嵌在Spring Boot里。Undertow是Red Hat推的,性能不错,但用的人少。这三个里Tomcat最稳,配置也最啰嗦,server.xml里一堆Connector和Host嵌套,第一次看容易晕。

有个细节:Nginx处理静态文件时用sendfile系统调用,数据从磁盘到网卡不经过用户态,这是它快的原因之一。Apache的mod_php模式每个请求占一个进程,内存哗哗涨。技术选型时别只看 benchmark,得看团队能不能 hold 住配置和调优。

选哪个?看场景。静态资源多、高并发、做网关——Nginx。老系统维护、需要.htaccess——Apache。Windows全家桶——IIS。个人项目想省事——Caddy。Java应用——Tomcat前面挂Nginx。没有银弹,每个服务器都有自己那摊子事。我自己的VPS上跑着Nginx,但偶尔会怀念Apache那种“什么都能塞进配置文件”的粗暴直接。工具而已,顺手就行。

```
最近更新
热门排行
copyright © 2026 powered by 烟消火灭网   sitemap