网站搜索

如何在 Debian 和 Ubuntu 上使用 Nginx 安装 WordPress


NGINX(发音为engine-x)是一个开源、强大、轻便且灵活的 HTTP 服务器,近年来越来越受欢迎,现在是主要的服务器接口目前为一些流量最大的网站提供支持,例如 FacebookWordPressSourceforge 或其他网站。

它之所以如此快速和可靠,是因为它使用与 Apache 相同的模块化设计,但在 Web 套接字方面采用了不同的方法,使用事件驱动的异步架构,该架构不会像 Apache 那样生成进程。速度快,因为它接收请求并且还使用简单的配置文件。

对于基于 UbuntuDebian 的系统,Nginx 已在其存储库中编译为软件包,并且可以通过 apt package 实用程序进行安装。

它还支持 Apache 等虚拟主机,并使用 Fastcgi 通道通过 PHP-FPM 与服务器上的 PHP 文件进行通信强>。

本教程介绍 Nginx 的安装和基本文件配置,以便在虚拟主机上托管 WordPress CMS 网站,并且设置适用于 Ubuntu 18.04 /20.04Debian 10/9Linux Mint 20/19/18

Nginx Web 服务器的安装

1. UbuntuDebianLinux Mint 的 Nginx 安装与任何其他软件包一样直接,可以安装只需一个简单的命令。

sudo apt-get install nginx

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

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

PHP 和 MariaDB 服务器的安装

3.为了Nginx能够运行WordPress,你需要安装PHPPHP- 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

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

sudo systemctl status mariadb
sudo systemctl is-enabled mariadb

5. 为了与 FastCGI 后端通信,PHP-FPM 服务必须在服务器上处于活动状态。

sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm
sudo systemctl status php7.4-fpm

6. 现在,您需要通过运行 MariaDB 软件包附带的 mysql_secure_installation 脚本来确保 MariaDB 安装的安全。

sudo mysql_secure_installation

运行脚本后,它将引导您完成一系列问题,您可以回答yes(y),以通过以下方式提高 MariaDB 安装的安全性:

  • 输入 root 的当前密码(不输入密码):Enter
  • 设置root密码? [是/否] y
  • 删除匿名用户? [是/否] y
  • 禁止远程root登录? [是/否] y
  • 删除测试数据库并访问它? [是/否] y
  • 现在重新加载权限表? [是/否] y

WordPress的安装

7. WordPress 需要一个数据库来在服务器上存储数据,因此请使用 mysql 命令为您的网站创建一个新的 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/conf.d/mysite.com.conf

然后添加以下内容。

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/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }

11. 默认情况下,Nginx 将所有请求路由到 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/

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

15. WordPress 安装完成后,通过单击以下屏幕中突出显示的登录按钮继续访问网站管理员的仪表板。

16.在网站管理员的登录页面上,提供您在上面创建的用户名和密码,然后单击登录,以访问您网站的管理仪表板。

17.安装完成后,通过发出以下命令撤消权限。

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

WordPress 上启用 HTTPS

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

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
sudo certbot --nginx

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

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