SEO 百科
Linux
本页目录
Linux
Linux 是操作系统的内核,负责把处理器、内存、磁盘和网络这些硬件资源,分配给运行在它上面的程序[1]。做网站的人需要了解它,因为多数服务器的底层系统就是 Linux,网页程序、数据库和网络服务器都装在它上面。站点用哪套系统、是买现成镜像还是自己安装,决定了服务器的维护成本与软件版本;抓取能不能成功,还要看上面各层软件怎么配置[11]。
在服务器上承担的角色
服务器上的 Linux 排在最底层,负责分配处理器、内存、磁盘和网络这些硬件资源。网页程序、数据库和网络服务器都装在它之上,各自占用资源的一部分。Linux 自己不生成网页,也不处理网页请求,这些工作由上面的程序完成。
GNU 工程对内核的定义是:“Linux 是内核:它是为你运行的其他程序分配计算机资源的程序”[1]。内核自己不能安装,也不能直接使用,要配上编译器、命令工具和安装程序,才构成一套能装能跑的完整系统。这套东西叫发行版。
用户装在服务器上的就是某个发行版,不是单独一个内核。内核的版本由社区持续发布,最新稳定版本公布在 kernel.org 上[2]。站长平时说的系统版本,指的就是发行版的名字和版本号。
与其他软件层的分工
在服务器上,Linux 下面是硬件,上面依次是网络服务器、运行时和数据库。Nginx 官方给自己的定位是“一款 HTTP 网络服务器,同时充当反向代理、内容缓存与负载均衡器”[4]。它接住浏览器和爬虫发来的请求,静态文件直接返回,动态请求转给运行时处理。
运行时负责执行程序代码,网页的动态内容由它产生。PHP 交给 PHP-FPM 进程,Java 交给 JVM,Node.js 交给自己的进程。数据库单独运行,负责存取数据。这些程序都以文件的形式存在磁盘上,读写时要遵守 Linux 的权限规则。
权限规则写成一串符号,例如 -rw-r--r--,分别对应属主、同组用户和其他人的读与写。权限规则还决定每个进程以哪个用户身份运行。Nginx 的处理进程“以非特权用户身份运行”[4],网络服务器即使被攻破,攻击者拿到的权限也有限。
选购服务器时的取舍
买服务器时,操作系统多半已经预装好。云厂商和主机商提供现成的镜像,站长选一个装上去就能用。统计机构 W3Techs 的数据显示,已知操作系统的网站中,Linux 占 62.7%,Windows 占 8.1%[13]。多数要跑的软件优先支持 Linux,这是占比差距的主要原因。
授权成本是另一项差别。多数发行版可以免费使用和分发,Debian 项目写明,参与分发和开发“不需要成为财团会员,也不需要付费”[3]。Windows Server 按核心数授权,Standard 版本建议零售价 1176 美元,还需要为客户访问购买 CAL[8]。
生态与文档也要一起看。发行版都有自己的官方手册和问答社区,遇到问题能查到答案。控制面板的支持同样要看,装面板之前先确认它支持这个发行版。
发行版本身也有差别。Debian 项目说明,各发行版在打包方式、安装与追踪软件包所用的工具上并不相同[3]。包格式是第一眼能看出的区别,Debian 系用 .deb 包,Red Hat 系用 .rpm 包,两边的安装工具并不通用。
| 发行版 | 包格式 | 发布与支持 | 适合的站长 |
|---|---|---|---|
| Ubuntu | .deb |
LTS 每两年一版,标准安全维护 5 年[5] | 想少折腾 |
| Debian | .deb |
稳定版更新慢,社区维护 | 愿意照文档自己配置 |
| CentOS | .rpm |
CentOS Stream 滚动更新,跟 RHEL 上游[7] | 要跟新功能 |
| AlmaLinux | .rpm |
二进制兼容 RHEL,永久免费[6] | 要 RHEL 兼容又不想付费 |
自行安装的取舍
自己安装系统,好处是可控。分区怎么划、装哪些软件包、开哪些服务,全由自己决定;用不上的组件不装,能出问题的面就小。镜像里预装的面板和旧版本软件,也可以一并去掉。
代价是这些工作都落到自己头上。Debian 项目描述过从源码安装的路子:“对于复杂的程序,这个过程可能十分耗时且容易出错”[3]。系统装好之后的更新、安全补丁和备份,同样要自己安排。
维护期也是要留意的一项。Ubuntu 的 LTS 版本每两年发布一次,标准安全维护 5 年,想延长要另行订阅 Ubuntu Pro[5]。装上已经停止维护的版本,新的安全漏洞等不到补丁。
故障排查同样落回自己手上。服务器不通时,要自己从网络、防火墙、网络服务器一路查到位,没有厂商代劳。
与抓取和收录的关系
抓取是收录的第一步。百度把这一步概括为“从互联网抓取网页、建立索引数据库、将索引库中数据展现给用户”[10]。Linux 只负责让服务器在线并响应请求,网页内容由上面的程序生成,所以抓取结果不取决于内核。
真正会挡住爬虫的,是服务器上的规则与设置。百度把抓取失败的一种成因写成:“服务器响应过慢或您的网站屏蔽了百度spider,而导致百度无法访问您的网站”[11]。响应过慢和主动屏蔽都出在网络层与应用层。
误拦爬虫的一个常见来源是防护软件。百度提醒站长,可能“由于系统级问题而阻止了百度访问,例如DNS配置问题、配置不当的防火墙或DoS防护系统、内容管理系统配置问题”[11]。防护系统按请求量自动封禁访问,爬虫的请求比普通用户多,容易被当成攻击挡掉。
性能直接影响抓取量。百度说明,“Baiduspider会根据网站内容更新频率和服务器压力等因素自动调整抓取频次”[12]。响应慢的服务器会被调低抓取量,新页面被收录的速度也会变慢。
自己能控制的,是网络服务器上的三项设置:
- 伪静态规则,把带参数的网址改写成静态形式,方便收录;
- 内容压缩,减小传输体积,Google 的抓取工具支持 gzip、deflate 和 Brotli 三种编码[9];
- 缓存,让重复访问不再重新执行程序。
# 伪静态:把 /article/123.html 交给 article.php 处理
rewrite ^/article/([0-9]+)\.html$ /article.php?id=$1 last;
# 开启 Gzip 压缩,减小响应体积
gzip on;
gzip_types text/html text/css application/javascript;
# 静态资源缓存 7 天,重复访问不再回源
location ~* \.(css|js|jpg|png|webp)$ {
expires 7d;
}
常见误用
一个误用是把 Linux 和发行版当成一回事。Linux 是内核,发行版是内核加上一整套软件,两者的版本各自演进,换发行版不等于换内核。
另一个误用是遇到抓取问题就先换操作系统。抓取失败的原因多在防火墙规则、robots.txt 配置和网络服务器设置上,换系统改不好这些地方,还要搭上停机时间。
还有一种误用是以为装了 Linux 收录就会变好。收录量由内容和抓取结果决定,系统只影响服务器能不能稳定响应。
附录
参见
参考资料
官方(境外)
- 《Linux 和 GNU 系统》,GNU 工程。
- 《The Linux Kernel Archives》,Linux Kernel Organization。
- 《Debian GNU/Linux 常见问题(FAQ)》,Debian 项目,2024-10。
- 《nginx》,NGINX。
- 《Ubuntu release cycle》,Canonical。
- 《AlmaLinux OS》,AlmaLinux OS Foundation。
- 《CentOS Stream》,CentOS 项目。
- 《Windows Server pricing and licensing》,Microsoft。
- 《Google 抓取工具和抓取器(用户代理)概览》,Google 搜索中心,2025-09-11 更新。
官方(国内)
- 《百度搜索的工作原理》,百度搜索资源平台,2023-12-21 更新。
- 《平台工具使用手册(抓取诊断)》,百度搜索资源平台,2020-08-14 更新。
- 《平台工具使用手册(抓取频次)》,百度搜索资源平台,2020-08-14 更新。
第三方
- 《Usage statistics of Linux for websites》,W3Techs,2026-10-07。
外部链接
无。