NGINX(发音为 engine-x)是一个开源的强大、轻量级和灵活的 HTTP 服务器,在过去几年中越来越受欢迎,现在已成为一些最大流量网站的主要服务器接口,如 Facebook、WordPress、Sourceforge 等。

它之所以如此快速可靠,是因为它采用了与 Apache 相同的模块化设计,但在 Web 套接字方面采用了不同的方法,使用了事件驱动的异步架构,不会像接收请求那样快速生成进程,并且使用简单的配置文件。 对于基于 Ubuntu 和 Debian 的系统,Nginx 已经作为一个软件包编译在它们的软件仓库中,并且可以通过 apt 软件包工具进行安装。

相关阅读: 如何在 Debian 和 Ubuntu 上使用 Apache 安装 WordPress 它还支持像 Apache 一样的虚拟主机,并通过 PHP-FPM 与服务器上的 PHP 文件进行通信,使用 Fastcgi 通道。 本教程涵盖了在虚拟主机上安装和基本文件配置 Nginx 以托管 WordPress CMS 网站,并适用于 Ubuntu 18.04/20.04、Debian 10/9 和 Linux Mint 20/19/18。

Nginx Web 服务器的安装

1. 在 Ubuntu、Debian 或 Linux Mint 上安装 Nginx 与其他软件包一样简单,只需执行一个简单的命令即可完成安装。

sudo apt-get install nginx

Install Nginx in Ubuntu 在 Ubuntu 上安装 Nginx

2. 接下来,使用以下 systemctl 命令启动、启用和验证 Nginx 的状态。

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

Verify Nginx Status in Ubuntu 在 Ubuntu 中验证 Nginx 状态

安装 PHP 和 MariaDB 服务器

3. 为了使 Nginx 能够运行 WordPress,您需要安装 PHP、PHP-FPM 和 MariaDB 软件包。

sudo apt-get install php php-mysql php-fpm php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip mariadb-server mariadb-client

在 Ubuntu 上安装 PHP 和 MariaDB

4. 接下来,验证MariaDB数据库服务是否正在运行,并且已启用在系统启动时自动启动。

sudo systemctl status mariadb
sudo systemctl is-enabled mariadb

Verify MariaDB Status in Ubuntu 在 Ubuntu 中验证 MariaDB 状态

5. 为了与FastCGI后端进行通信,服务器上必须启用PHP-FPM服务。

sudo systemctl start php8.2-fpm
sudo systemctl enable php8.2-fpm
sudo systemctl status php8.2-fpm

Verify PHP-FPM Status in Ubuntu 在 Ubuntu 中验证 PHP-FPM 状态

6. Now you need to make your MariaDB installation secure by running the mysql_secure_installation script which ships with the MariaDB package. 现在您需要运行随 MariaDB 软件包提供的脚本来确保您的 MariaDB 安装安全。

sudo mysql_secure_installation

运行脚本后,它将带您回答一系列问题,以便您可以通过以下方式提高MariaDB安装的安全性:

  • 输入当前 root 用户的密码(没有则直接回车): Enter
  • 设置根密码?[Y/n] y
  • 删除匿名用户?[Y/n] y
  • 禁止远程登录 root 用户?[Y/n] y
  • 删除测试数据库和访问权限?[Y/n] y
  • 现在重新加载权限表吗?[Y/n] y

Secure MariaDB Installation MariaDB 安全安装

WordPress 安装

7. ** WordPress需要一个数据库来存储服务器上的数据,因此请使用如下命令为您的网站创建一个新的 WordPress 数据库。

mysql -u root -p
MariaDB [(none)]> CREATE DATABASE mysite;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mysite.* TO 'mysiteadmin'@'localhost' IDENTIFIED BY  'SecureP@ssHere!';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

8. 现在是创建 WordPress 虚拟主机根路径的时候,下载 WordPress 存档,解压缩后,然后执行递归复制到 /var/www/html/wordpress

sudo mkdir -p /var/www/html/mysite.com
wget http://wordpress.org/latest.tar.gz
tar xfvz latest.tar.gz
sudo cp -r wordpress/* /var/www/html/mysite.com

9. 为了顺利安装WordPress而避免任何 wp-config.php 创建文件错误,请授予 Nginx www-data 系统用户对 /var/www/html/mysite.com 路径的写入权限,并在安装 WordPress 后恢复更改。

sudo chown -R www-data /var/www/html/mysite.com
sudo chmod -R 755 /var/www/html/mysite.com

为 WordPress 网站创建一个 NGINX 虚拟主机

10. 现在是在Nginx服务器上为 WordPress 网站创建基本虚拟主机的时候了。运行以下命令来创建 WordPress 服务器配置文件。

sudo vim /etc/nginx/sites-available/mysite.com

然后添加以下内容。

server {
    listen 80;
    listen [::]:80;
    root /var/www/html/mysite.com;
    index index.php index.html index.htm;
    server_name mysite.com www.mysite.com;
    error_log /var/log/nginx/mysite.com_error.log;
    access_log /var/log/nginx/mysite.com_access.log;
    client_max_body_size 100M;
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_read_timeout 300;
        fastcgi_send_timeout 300;
    }
}
ln -s /etc/nginx/sites-available/mysite.com /etc/nginx/sites-enabled/mysite.com

11. 默认情况下,Nginx 将所有请求路由到 default 服务器块。因此,删除 default 服务器块以启用您的 WordPress 网站或其他您希望在同一服务器上托管的网站。

sudo rm /etc/nginx/sites-enabled/default
sudo rm /etc/nginx/sites-available/default

12. 接下来,在重新启动 Nginx 服务以应用新更改之前,请检查 NGINX 配置语法是否存在错误。

sudo nginx -t
sudo systemctl restart nginx

通过 Web 安装程序完成 WordPress 安装

13. 现在打开您的网络浏览器,并使用网络安装程序完成 WordPress 安装。

http://mysite.com/
OR
http://SERVER_IP/

Select WordPress Installation Language 选择 WordPress 安装语言

14. 然后添加网站信息,如标题、管理员用户名、密码和电子邮件地址。然后点击安装 WordPress以继续安装。

Add WordPress Site Details 添加 WordPress 网站详细信息

15. WordPress 安装完成后,点击下图中突出显示的登录按钮,进入网站管理员的控制面板。

WordPress Installation Complete WordPress 安装完成

**16.**在网站管理员登录页面,输入您上面创建的用户名和密码,然后点击登录,以访问您网站的管理员控制面板。

WordPress Login WordPress 登录

WordPress Dashboard WordPress 仪表盘

17. 安装完成后,通过执行以下命令撤销权限。

sudo chown -R root /var/www/html/mysite.com

在 WordPress 上启用 HTTPS

18. 如果您想在您的 WordPress 网站上启用HTTPS,您需要按照所示安装来自Let’s Encrypt的免费 SSL 证书。

sudo apt-get update -y
sudo apt-get install certbot python3-certbot-nginx -y
sudo certbot --nginx

要确认您的 WordPress 网站是否正确设置了免费 SSL 证书,请访问您的网站 https://yourwebsite.com/ ,并在 URL 栏中查找锁定图标。或者,您可以在 https://www.ssllabs.com/ssltest/上检查您的网站的 HTTPS。

恭喜!您已成功在服务器上安装了最新版本的WordPressNGINX,现在开始构建您的新网站或博客吧。