NGINX 与 Apache:什么是适用于 WordPress 的最佳 Web 服务器?
已发表: 2023-02-12要运行 WordPress 网站,您需要将其托管在网络服务器上。 这使网络浏览器能够请求您网站的数据。 但是,有多种 Web 服务器选项,这使得选择一个成为一项艰巨的任务。
虽然有许多 Web 服务器可供选择,但 Apache 和 NGINX 是最受欢迎的选择。 但两者中哪一个是最好的 Web 服务器?
这两个 Web 服务器处理超过 50% 的 Web 流量。 虽然它们有许多共同点,但您需要了解它们之间的差异,这可以帮助您为您的网站选择合适的。 在本文中,我们将讨论 NGINX 和 Apache 之间的区别。 然后,我们将了解如何在这两种类型的服务器上安装 WordPress。 让我们开始吧!
比较性能:NGINX 与 Apache
正如我们之前提到的,NGINX 和 Apache 是最突出的 Web 服务器选项。 它们可以处理不同的工作负载,并与其他软件一起组成 LAMP 和 LEMU 堆栈。 但是,为了准确比较这些 Web 服务器,您需要了解它们的不同之处。
阿帕奇
Apache 是这两个服务器中较旧的一个,由 Robert McCool 于 1995 年由 Apache 软件基金会首次发布和开发。 自 1996 年以来,Apache 一直是顶级 Web 服务器,大约 38.7% 的网站使用它。 目前,Apache 基金会继续为 Apache 发布版本。
Apache 模块提供了一系列好处,包括:
- 预安装选项: Apache 预安装在主要的 Linux 发行版上。
- 用户社区: Apache 有一个庞大的用户社区,可以互相帮助。
- 动态模块加载系统:该系统阻止您在更新服务器时接触主包。
- .htaccess中的 URL 重写: Apache 2 使用mod_rewrite进行干净的重写。
- 模块化设计:由于模块化设计,Apache 提供了更大的定制性和灵活性。
- 使用httpd.conf文件的服务器配置:配置很容易,因为您不需要访问主apache2.conf文件。
- 充当“网关”服务器: Apache 还可以充当反向代理服务器的功能。
Apache 服务器是一个用户友好的 Web 服务器,具有许多自定义功能。 该软件还与 Unix 和 Windows 服务器兼容。
NGINX
NGINX 于 2004 年由 NGINX Inc. 创始人 Igor Sysoev 发布,用于解决 C10K 问题。 这是 Web 服务器在处理 10,000 个或更多并发连接请求时面临的挑战。
为了解决这个问题,NGINX 被开发为异步、非阻塞和基于事件的架构。 这是 NGINX 和 Apache 之间的主要区别之一。 这也是大约 32.1% 的网站使用 NGINX 的原因之一。
NGINX 提供了许多其他好处,例如:
- 轻量级设计:NGINX 可以在最小的硬件上运行,并且使用的内存比 Apache 少。
- 静态内容处理:NGINX 在正确配置时提供更好的静态内容处理。
- 重载响应:NGINX 在流量大的时候保持高响应。
- 用户友好的设计:学习曲线更容易,NGINX 对初学者友好。
- 模块化设置:该服务器的设计允许灵活构建和一系列第三方模块。
- 反向代理: NGINX Plus 提供了一种基于软件的反向代理,其功能与基于硬件的解决方案具有相似的功能,而且成本更低。
NGINX 和 NGINX Plus 通常被视为高流量网站的更好选择,因为它的负载平衡功能可以处理更重的负载。 它也是在包含大量静态 Web 内容的网站上保持最佳性能的理想选择。
Apache 和 NGINX 有什么区别?
虽然 NGINX 和 Apache HTTP Server 很相似,但两者之间存在许多差异。 最大的区别在于这些 Web 服务器处理多个客户端请求的方式。 Apache 使用分叉解决方案,而 NGINX 使用非阻塞事件循环。
Apache 提供了多处理模块 (MPM),用于规定请求处理的工作方式。 分叉的方法使换出连接处理架构更容易。 这种方法中使用的模块是对 Apache 核心功能的补充。 每个多处理模块启动一个不同的进程来处理服务器请求。
一个例子是mpm-worker——一个创建处理多个线程的进程的模块。 每个线程都是到服务器的单个连接。 添加此模块允许扩展服务器并启用大量流量的管理。
NGINX 不同,它只生成工作进程来同时处理请求。 这些进程是连续检查和处理多个请求的非阻塞事件。 这种连续检查会形成一个循环。 循环中的所有事件都是异步的,并在连接关闭时从循环中删除。
什么是最好的 WordPress Web 服务器软件?
Apache 和 NGINX 都可以很好地与 WordPress 托管配合使用。 但是,如果您想要提高性能,NGINX 可能是更好的选择。 让我们来看看如何在这两种类型的服务器上安装 WordPress,这样您就可以准备好开始使用任何一种了。
如何在 Apache 上安装 WordPress
要在 Apache 上安装 WordPress,您需要设置一个 LAMP(Linux、Apache、MySQL 和 PHP)堆栈。 这通常在 Ubuntu 服务器上完成。
第 1 步:在您的服务器上创建一个 Sudo 用户
要创建用户,请以 root 用户身份登录到您的服务器。 然后使用下面的添加用户命令创建一个新帐户:
$ adduser username
服务器将提示您设置并确认密码。 接下来,填写用户的详细信息。 然后您可以为该用户提供sudo访问权限。 此访问权限允许用户执行通常由 root 用户完成的命令。
要将用户添加到sudo组,请输入以下命令:
$ usermod -aG sudo username
然后,您需要以 sudo 用户的身份登录服务器以完成安装过程的其余部分。
第 2 步:安装 Apache Web 服务器
要安装 Apache,您需要使用 Ubuntu 包管理器apt 。 这是 Ubuntu 服务器上的默认设置。 在输入密码后输入以下sudo命令开始安装:
$ sudo apt update $ sudo apt install apache2
然后您将看到将要安装的包,以及需要多少磁盘空间。 按Y ,然后按 Enter开始安装。
第 3 步:安装 MySQL 数据库服务器
接下来,您需要安装数据库管理系统 MySQL。 包管理器中的以下命令将开始安装:
$ sudo apt install mysql-server
所需的软件包和磁盘空间将再次显示。 要开始安装,请按Y并设置 root 密码。
第 4 步:安装 PHP
PHP 是将代码处理为动态内容的 LAMP 堆栈的一部分。 要安装它,您应该输入以下命令:
$ sudo apt install php libapache2-mod-php php-mysql
然后 PHP 应该可以毫无问题地安装。 您需要重新启动服务器才能完成堆栈安装。 为此,请输入以下命令:
$ sudo systemctl restart apache2
您的 LAMP 堆栈现已安装和配置。
第 5 步:设置虚拟主机
虚拟主机封装配置细节,是推荐的步骤。 封装允许您在一台服务器上托管多个网站。
Apache 服务器默认为/var/www/html目录,这对于多个网站来说是笨拙的。 要创建虚拟主机,您需要在/var/www中为新网站的域设置目录结构。
使用以下命令创建此结构:
sudo mkdir /var/www/new_domain
将new_domain更改为您网站的域。 然后使用nano命令创建一个包含示例内容的index.html文件:
$ nano /var/www/new_domain/index.html
为确保 Apache 为您的内容提供服务,您还需要创建一个主机文件。 以下命令创建配置文件:
$ sudo nano /etc/apache2/sites-available/your_domain.conf
然后添加以下配置块:
<VirtualHost *:80> ServerAdmin [email protected] ServerName new_domain ServerAlias www.new_domain DocumentRoot /var/www/new_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
下一个命令启用该文件,而第二个命令禁用服务器上的默认站点:
$ sudo a2ensite new_domain.conf $ sudo a2dissite 000-default.conf
您的虚拟主机现在应该已经配置好并且可以正常工作了。 这个新创建的目录应该用于安装 WordPress。
第 6 步:安装 WordPress
配置 LAMP 堆栈后,您可以安装 WordPress。 下载最新版本的 WordPress 并使用以下命令进行安装:
$ sudo apt update $ sudo apt install wordpress php libapache2-mod-php mysql-server php-mysql
接下来,为 WordPress 配置 Apache 并创建 MySQL 数据库。 然后使用WordPress网页浏览器界面完成网站配置。 这包括创建网站标题和设置密码。
如何在 NGINX 上安装 WordPress
要在 NGINX 上安装 WordPress,您需要一台运行 NGINX Unit 支持的发行版之一的服务器。 如果您使用的是 Linux,您将创建一个 LEMU(Linux、NGINX、MySQL 和 NGINX Unit)堆栈。
第一步:安装MySQL
在开始之前,创建一个具有sudo访问权限的服务器用户。 以 root 用户身份登录到您的服务器,并使用以下命令创建一个新帐户:
$ adduser username
在为用户填写详细信息之前,您需要输入并确认密码。 然后您可以为该用户提供sudo访问权限。 此访问权使用户能够执行通常由 root 用户完成的命令。
要将用户添加到sudo组,请输入以下命令:
$ usermod -aG sudo username
以sudo用户登录服务器,使用以下命令安装MySQL:
$ sudo apt-get install mysql-server
输入新的根密码。 然后可以运行 MySQL 配置工具。 这是一个配置向导,可引导您完成安装过程。
第 2 步:创建 MySQL 数据库
一旦 MySQL 准备就绪,您就可以创建一个新数据库。 您还需要创建一个具有管理权限的新用户。 为此,请登录 MySQL root 帐户并输入以下命令:
$ sudo mysql -u root -p mysql> CREATE DATABASE wordpress; mysql> CREATE USER [email protected] IDENTIFIED BY 'secure_password'; mysql> GRANT ALL PRIVILEGES ON wordpress.* TO [email protected]; mysql> FLUSH PRIVILEGES; mysql> Exit Bye
Flush Privileges 命令确保 MySQL 识别您所做的更改。 您应该更改默认用户名和密码以符合您的偏好。
第 3 步:安装 WordPress
在安装 WordPress 之前,您应该使用以下命令创建一个临时文件位置:
$ cd /var/www/ $ sudo wget http://wordpress.org/latest.tar.gz $ sudo tar xzvf latest.tar.gz
此命令还会下载和解压 WordPress。
第 4 步:配置 WordPress
接下来,创建 WordPress 配置文件的副本并使用以下命令重命名它:
$ cd /var/www/wordpress $ sudo cp wp-config-sample.php wp-config.php
您可以更新文件中的 SALT 密钥以提高安全性。 使用nano打开wp-config.php文件,并使您能够搜索 SALT 键:
$ sudo nano wp-config.php
用新生成的密钥替换密钥,然后保存并退出文件。
第 5 步:安装 PHP
虽然可以使用 NGINX Unit,但仍应安装 PHP。 您可以使用以下命令来执行此操作:
$ sudo apt-get install -y php7.0 php7.0-common php7.0-mbstring php7.0-gd php7.0-intl php7.0-xml php7.0-mysql php7.0-mcrypt
这是必要的,因为 WordPress 依赖于 NGINX Unit 中未包含的几个扩展。
第 6 步:安装 NGINX 单元
最后,您需要为您的服务器操作系统安装预编译的 NGINX 单元。 使用以下命令安装 PHP 模块:
$ sudo apt-get install unit-php $ sudo service unit restart $ sudo curl -X PUT --data-binary @/usr/share/doc/unit-php/examples/unit.config --unix-socket /run/control.unit.sock http://localhost/config $ curl http://localhost:8300/
这些命令还验证 NGINX Unit 和 PHP 是否正常工作。
接下来,您需要安装和配置 NGINX Open Source。 您可以从主线分支安装预构建的包。 其中包括最新的功能和补丁。 完成此配置后,WordPress 就可以使用了。
继续学习 WP Engine
Apache 和 NGINX 是最流行的 Web 服务器软件选项。 但在 NGINX 与 Apache 的较量中,究竟谁胜出? 虽然它们在很多方面都很相似,但 NGINX 服务器确实为高流量网站提供了更好的性能。 但是,Apache 拥有更大的社区和更多的文档。
当然,要开发出色的网站,您需要具备多项条件。 其中包括正确的工具、最好的资源和一流的虚拟主机!
如需更多 SEO 和网络相关资源,例如 WordPress 优化和了解 HTTP 400 错误,请查看我们的资源中心以改进您的网站。