Apache、Nginx 还是 OpenLiteSpeed:该选哪个?
Apache、Nginx 和 OpenLiteSpeed 都能胜任。决定因素是您的需求和习惯,而不是速度竞赛。WordPress.org 为 WordPress 推荐 Apache 或 Nginx。如果您的网站依赖 .htaccess 文件,Apache 是自然的选择。如果想要精简的配置和反向代理,选 Nginx。如果想要服务器级的 WordPress 缓存和网页界面管理,OpenLiteSpeed 更合适。
三种 Web 服务器一览
| 特性 | Apache | Nginx | OpenLiteSpeed |
|---|---|---|---|
| 许可证 | Apache License 2.0 | 2-clause BSD | GPLv3 |
| .htaccess | 支持,按目录生效 | 不支持,规则写入服务器配置 | 使用与 Apache 兼容的重写规则 |
| 网页管理界面 | 无 | 无 | 有,默认端口 7080 |
| WordPress 缓存 | 缓存插件;用 mod_cache 的服务器端缓存需手动设置 | 缓存插件;服务器端的 FastCGI 缓存需手动设置 | LiteSpeed Cache 插件配合内置的服务器缓存 |
Apache:.htaccess 与熟悉度
Apache 是最广为人知的选择之一。通过 .htaccess 文件,您可以逐个目录地修改设置。从共享主机迁移过来的网站和许多插件都依赖这个文件。不过,Apache 自己的文档告诉您,只要能访问主配置文件,就应把规则放在主配置文件里,因为每次请求都要在每个目录中查找 .htaccess。在您自己的 VPS 上,您有 root 权限,所以可以这样做。常见的做法是通过 PHP-FPM 运行 PHP,并让 Apache 使用事件驱动的 event 模式。在 Ubuntu 和 Debian 上,用 a2enmod 开关模块,用 a2ensite 开关站点。
Nginx:精简的配置与反向代理
Nginx 是事件驱动的。它的官网把它描述为 Web 服务器、反向代理、内容缓存和负载均衡器。它常用于提供静态文件,以及放在其他应用前面。它不支持 .htaccess,Nginx 项目自己的博客也说明不支持按目录的配置文件。对于 WordPress 这样的应用,美化固定链接所需的 try_files 规则要由您自己写进服务器配置。WordPress 的官方文档给出了这条规则。PHP 通过 PHP-FPM 运行。在 Ubuntu 和 Debian 的软件包中,站点写在 /etc/nginx/sites-available 下,再链接到 sites-enabled。用 sudo nginx -t 测试修改,用 sudo systemctl reload nginx 使其生效。
OpenLiteSpeed:WordPress 缓存与网页界面
OpenLiteSpeed 是 LiteSpeed Web Server Enterprise 的开源版本,以 GPLv3 发布。两者由同一个团队开发,企业版需要许可证。OpenLiteSpeed 可以使用与 Apache 兼容的重写规则,所以 WordPress 的固定链接规则大多可以原样使用。如果旧网站的 .htaccess 中含有重写规则以外的指令,迁移之前请先测试,因为 OpenLiteSpeed 会不报错地忽略它不支持的指令。
WordPress 的 LiteSpeed Cache 插件的服务器级缓存只能在 LiteSpeed 产品上使用。根据插件文档,在其他服务器上只能使用它的优化功能。网页管理界面默认在 7080 端口打开。不要让这个端口对所有人开放,只对您自己的 IP 地址开放。
Caddy 也是一个选择
对于小型项目,也可以考虑 Caddy。在配置中写下域名后,它会自行获取并续期 HTTPS 证书。根据其官方文档,这要求域名的 DNS 记录指向服务器,并且 80 和 443 端口可以从外部访问。它的配置文件(Caddyfile)非常简短。代价是不支持 .htaccess,所以规则同样写进配置中。Seturack 的 WordPress 等基于网页的现成应用,使用 Caddy 提供 HTTPS。
该选哪一个?
“哪个更快?”没有唯一的答案。结果取决于配置、PHP 设置、缓存和网站本身。在一个很慢的 WordPress 网站上,Web 服务器很少是问题所在。缺少缓存、插件过重或内存太小是更常见的原因。在换服务器之前,请先检查这些。只有在自己的服务器上试自己的网站,才能看到真正的差别。让下面这些问题来帮助您选择:
- 如果您要迁移依赖
.htaccess文件的旧网站:Apache。 - 如果您想在几个应用前面放一个反向代理,或者想要精简的配置:Nginx。
- 如果您运行单个 WordPress 网站,并想要服务器缓存和网页管理:OpenLiteSpeed。
- 如果您要托管多个域名,三者都能做到:Apache 用虚拟主机,Nginx 用 server 块。这不会决定选择。
- 如果您要使用控制面板,就用面板的默认选择。CloudPanel 使用 Nginx,CyberPanel 使用 OpenLiteSpeed。HestiaCP 默认同时安装 Nginx 和 Apache(Apache 可以关闭)。
- 如果拿不准,选 Apache 或 Nginx。WordPress.org 同时推荐这两者,而且各自都有大量资料。
安装与以后切换
Apache 和 Nginx 都可以用一条命令从 Ubuntu 软件源安装:
sudo apt install apache2
sudo apt install nginx
如果同时安装两者,第二个无法占用 80 端口,也就无法启动。sudo ss -tlnp | grep ':80 ' 会显示哪个服务在监听 80 端口。安装 OpenLiteSpeed 请按照 LiteSpeed 官方安装文档中的步骤进行。安装后,在浏览器中打开服务器的 IP 地址。如果看到欢迎页面,说明服务在运行。如果页面从外部打不开,请检查防火墙中是否开放了 80 和 443 端口。
以后切换是可以的。网站的文件和数据库保持不变,变的是配置。从 Apache 转到 Nginx 时,需要手动转换 .htaccess 规则。Nginx 的官方文档有一份转换重写规则的指南。三种服务器可以安装在同一台机器上,但不能同时使用 80 和 443 端口。请先在小型服务器上试一试。如果不满意,可以切换服务,而不必重装服务器。
试这三种不需要大服务器。从小的配置开始,需要时在面板中升级。价格请看价格页面。
如果想直接从装好所选 Web 服务器的状态开始,Seturack 的 LAMP(Apache)、LEMP(Nginx)和 OpenLiteSpeed 选项会自动安装。WordPress 还有 OpenLiteSpeed 上的 WordPress。
Seturack 上的现成方案: OpenLiteSpeed, WordPress LiteSpeed, LAMP, LEMP.
评论0
暂无评论
成为第一个分享想法的人。
请登录或注册后发表评论。