如何在 Debian 12 或 11 上使用 Nginx 安装 WordPress

WordPress 是一个功能强大且广泛使用的内容管理系统 (CMS),可让用户轻松创建和管理网站。与 LEMP 堆栈(Linux、NGINX、MariaDB、PHP)结合使用时,WordPress 成为一个强大且高性能的 Web 开发平台。LEMP 堆栈以其效率、速度和可扩展性而闻名,使其成为托管 WordPress 网站的理想选择。WordPress 的主要功能包括直观的界面、广泛的插件生态系统、可自定义的主题和强大的社区支持。

要在 Debian 12 或 11 上安装带有 NGINX、MariaDB 和 PHP 的 WordPress,请按照以下步骤操作。本指南将介绍 LEMP 堆栈的设置、WordPress 的安装以及使您的网站顺利启动和运行的基本配置。

为 WordPress 安装 LEMP

在安装 LEMP 之前更新 Debian

在安装 WordPress 之前,请更新您的 Debian 系统以防止潜在的冲突。打开终端并运行:

sudo apt update && sudo apt upgrade

此命令更新可用的软件包并升级您的系统。

安装必要的软件包

即使您拥有一些 WordPress 必备软件包,也请仔细检查以确保没有遗漏任何软件包。运行以下命令:

sudo apt install curl git wget unzip zip

此命令安装或确认 WordPress 所需的包。

安装 Nginx - LEMP 安装第 1 部分

要设置 LEMP 堆栈,您需要安装 Nginx。运行以下命令:

sudo apt install nginx

安装后,检查 Nginx 是否正在运行:

systemctl status nginx

如果 Nginx 服务未激活,则可以使用以下命令启动它:

sudo systemctl enable nginx --now

此命令确保 Nginx 在每次服务器重启时启动,这对于功能性的 LEMP 堆栈至关重要。

注意:最好使用最新的 Nginx 主线版本来优化 WordPress 性能。您可以按照以下指南操作 在 Debian Linux 上安装 Nginx Mainline 安装最新版本。此版本提供附加功能和改进,以提高您的网站速度和整体性能。

为 Nginx 设置 UFW 防火墙

使用 Nginx 服务器配置 UFW 防火墙对于安全性和允许外部访问标准 Web 端口至关重要。好消息是 Nginx 提供了简化 UFW 设置过程的配置文件。

安装UFW:

如果你尚未在 Debian 系统上安装 UFW,请执行以下命令:

sudo apt install ufw

激活 UFW:

安装完成后,就该激活 UFW 了。默认情况下,UFW 会阻止所有传入连接,同时允许所有传出连接。使用以下命令激活防火墙:

sudo ufw enable

查看 Nginx 配置文件:

要检查 UFW 可用的 Nginx 配置文件,请运行以下命令:

sudo ufw app list

从输出中,你会注意到:

  • Nginx 在端口 80 上运行(HTTP)
  • Nginx Secure 在端口 443 (HTTPS) 上运行
  • Nginx Full 包含两个端口

为 Nginx 配置 UFW:

如果您想同时启用 HTTP 和 HTTPS 访问,请选择 Nginx 完整配置文件:

sudo ufw allow 'Nginx Full'

但是,您的要求可能会有所不同:

对于仅 HTTPS 访问,请选择 Nginx 安全配置文件:

sudo ufw allow 'Nginx Secure'

仅 HTTP 访问,使用 Nginx HTTP 配置文件:

sudo ufw allow 'Nginx HTTP'

您可以创建其他 UFW 规则来保护您的服务器和使用 WordPress 的 LEMP 设置,并且如果您的服务器向公众开放,您应该花时间锁定它。

安装 MariaDB – LEMP 安装第 2 部分

MariaDB 以其优于 MySQL 的性能而闻名,是 LEMP 堆栈中的数据库组件。如果您想从 MariaDB.org 的官方存储库安装特定版本的 MariaDB,请参阅 在 Debian 上安装 MariaDB.这可以进一步优化您的WordPress性能。

要安装 MariaDB,请运行:

sudo apt install mariadb-server mariadb-client

安装后,检查MariaDB的状态:

systemctl status mariadb

此命令显示 MariaDB 的服务状态和任何潜在错误。

如果 MariaDB 没有运行,请运行以下命令启动它:

sudo systemctl enable mariadb --now

这可确保 MariaDB 在每次系统重启时启动,这对于稳定的 LEMP 堆栈和 WordPress 设置至关重要。

使用安全脚本保护 MariaDB

为了保护数据,您必须保护您的 MariaDB 安装。新安装的 MariaDB 的安全默认值可能不够严密,从而可能面临威胁。但是,mysql_secure_installation 脚本可以增强数据库的防御能力。

运行安全脚本:

sudo mysql_secure_installation

此脚本将指导您完成几项安全配置:

  • 设置 root 密码或选择 unix_socket 来防止未经授权的访问。
  • 删除匿名用户帐户以将数据库访问限制为授权用户。
  • 限制 root 用户帐户的远程登录。
  • 删除测试数据库以避免未经授权的访问和潜在的数据泄露。

认真回答每个提示;这些设置会严重影响数据库的安全性。完成这些步骤后,您的 MariaDB 设置应该是安全且可运行的。

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

这些安全措施确保您的 MariaDB 安装安全并免受威胁。

安装 PHP、PHP-FPM – LEMP 安装第 3 部分

要获得完整的 LEMP 堆栈,您需要安装 PHP。PHP 充当 Nginx 和 MariaDB 之间的桥梁,由 PHP-FPM 和 WordPress 的其他基本模块提供支持。

注意:如果您想要一个适合您需求的特定 PHP 版本,请咨询我们的 在 Debian 上安装 PHP 的指南。Linux 新用户暂时应该使用默认版本,然后再安装自定义版本。

运行以下命令安装 PHP、PHP-FPM 和所需的模块:

sudo apt install php php-fpm php-mbstring php-bcmath php-xml php-mysql php-common php-gd php-cli php-curl php-zip php-imagick php-ldap php-intl

安装后,检查 PHP 服务的状态,这与您对 MariaDB 和 Nginx 所做的操作类似。在此示例中,我们使用 PHP 7.4:

systemctl status php7.4-fpm

输出应如下所示:

注意:PHP-FPM 版本随每个稳定的 Debian 版本而变化。如果你不确定你的版本,请运行 php -v 找出答案。

使用 LEMP 进行 WordPress 的预安装配置

创建 WordPress 目录结构

要在 Debian LEMP 堆栈上安装 WordPress,您可以 下载 从官方 WordPress.org 下载页面获取最新版本或者使用以下命令直接下载:

wget https://wordpress.org/latest.zip

下载后,使用以下命令将档案解压缩到 /var/www/html 目录:

sudo unzip latest.zip -d /var/www/html/

接下来,通过将目录所有者权限设置为 Web 服务器用户来确保 WordPress 具有正确的写入权限。

可以使用以下命令完成此操作:

sudo chown -R www-data:www-data /var/www/html/wordpress/

设置目录所有者权限后,您必须使用以下命令为 WordPress 文件夹和文件设置正确的权限:

对于文件夹:

sudo find /var/www/html/wordpress -type d -exec chmod 755 {} \;

对于文件:

sudo find /var/www/html/wordpress -type f -exec chmod 644 {} \;

设置正确的文件夹和文件权限可确保您的 WordPress 安装安全且正常运行。

为 WordPress 创建数据库

要在 Debian LEMP 堆栈上运行 WordPress,您必须使用 MariaDB 创建数据库。使用以下命令以 root 身份访问 MariaDB shell:

sudo mariadb -u root

进入 MariaDB shell 后,使用以下命令创建一个新的数据库:

CREATE DATABASE WORDPRESSDB;

接下来,使用以下命令为 WordPress 创建一个新的用户帐户:

CREATE USER 'WPUSER'@localhost IDENTIFIED BY 'PASSWORD';

注意:用您想要的用户名和密码替换“WPUSER”和“PASSWORD”。

最后,使用以下命令为新创建的用户帐户分配对 WordPress 网站数据库的访问权限:

GRANT ALL PRIVILEGES ON WORDPRESSDB.* TO WPUSER@localhost IDENTIFIED BY 'PASSWORD';

创建用户帐户后,使用以下命令刷新权限以确保新的更改生效:

FLUSH PRIVILEGES;

最后,输入以下命令退出 MariaDB shell:

EXIT;

设置 WordPress 配置文件

设置 WordPress 配置文件是安装过程中必不可少的一步。这涉及重命名示例 wp-config.php 文件并输入必要的配置详细信息。

使用以下命令导航到 WordPress 目录:

cd /var/www/html/wordpress/

使用以下命令将 wp-config-sample.php 复制到 wp-config.php:

sudo cp wp-config-sample.php wp-config.php

使用文本编辑器,调出新复制的 wp-config.php 文件:

sudo nano wp-config.php

接下来,输入数据库名称、用户帐户和密码以及主机 IP 地址(如果需要)。

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */ 

define( 'DB_NAME', 'WORDPRESSDB' );                 <--------------- change this

/* MySQL database username */ 

define( 'DB_USER', 'WPUSER );                               <--------------- change this

/* MySQL database password */

define( 'DB_PASSWORD', 'PASSWORD' );             <--------------- change this

/* MySQL hostname, change the IP here if external DB set up */ 

define( 'DB_HOST', 'localhost' );

/* Database Charset to use in creating database tables. */

define( 'DB_CHARSET', 'utf8' );

/* The Database Collate type. Don't change this if in doubt. */

define( 'DB_COLLATE', '' );

除了这些设置之外,您还可以将以下内容添加到wp-config.php文件以改善WordPress管理:

/** ## Save files direct method ## */
define( 'FS_METHOD', 'direct' );

/** ## Increase memory limit, 256MB is recommended ## */
define('WP_MEMORY_LIMIT', '256M');

您的专用服务器或 VPS 的内存限制可能因系统容量而异。您可以以小增量增加或减少 256 MB 内存限制,例如 128 MB、256 MB、512 MB 等。

注意:需要注意的是,建议仅对内存限制进行小幅调整以获得最佳性能和稳定性。

实施 WordPress 安全盐键

增强 WordPress 安装的安全性至关重要,而实现此目标的一种有效方法是设置 WordPress 安全盐密钥。这些密钥充当增强的安全盾,可增强您的 WordPress 网站抵御潜在威胁的能力,并增强用户身份验证和数据加密。

生成安全盐密钥

要生成安全盐密钥,请导航到 WordPress 密钥 API: https://api.wordpress.org/secret-key/1.1/salt/。生成这些密钥后,务必用您的唯一密钥替换 wp-config.php 文件中的占位符行。此步骤可加强用户身份验证和数据加密。

注意:请勿使用此处或其他地方提供的示例行,因为它们仅用于说明目的。使用预设的盐密钥可能会使您的网站暴露于漏洞。始终为每个 WordPress 设置生成不同的密钥,以确保最佳安全性。

集成安全盐密钥

要将新生成的安全盐密钥嵌入到您的 wp-config.php 文件中,请在文本编辑器中打开该文件:

sudo nano /var/www/html/wordpress/wp-config.php

现在,找到 wp-config.php 文件中与示例密钥相对应的行。找到后,用新生成的密钥替换 wp-config.php 文件中的每个示例密钥。进行必要的替换后,请确保保存并关闭文件。

如果您使用的是 nano 编辑器,请按“CTRL+X”然后按“Y”进行保存。

WordPress LEMP 设置的 Nginx 服务器块配置

正确设置 Nginx 服务器块对于通过 Web UI 无缝安装 WordPress 至关重要。正确获取“try_files $uri $uri/ /index.php?$args;”指令至关重要。省略“?$args”可能会干扰 WordPress 的 REST API。为避免安装过程中出现潜在问题,请严格遵循这些说明。

为 Nginx 上的 WordPress 安装创建一个新的服务器配置文件。在以下命令中将“example.com”替换为您的实际域名:

sudo nano /etc/nginx/sites-available/example.com.conf

要使 Nginx 与 PHP 配合使用,您必须在服务器块配置文件中包含“location ~ .php$”。以下是您可以用作参考的示例配置。

确保调整根路径和域名以适合您的设置:

server {
  listen 80;
  listen [::]:80;
  server_name www.example.com example.com;
  root /var/www/html/wordpress;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  location ~* /wp-sitemap.*\.xml {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  client_max_body_size 100M;

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 128k;
    fastcgi_intercept_errors on;
  }

  gzip on;
  gzip_comp_level 6;
  gzip_min_length 1000;
  gzip_proxied any;
  gzip_disable "msie6";
  gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/xhtml+xml application/xml font/eot font/otf font/ttf image/svg+xml text/css text/javascript text/plain text/xml;

  location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv)$ {
    expires 90d;
    access_log off;
  }

  location ~* \.(?:svgz?|ttf|ttc|otf|eot|woff2?)$ {
    add_header Access-Control-Allow-Origin "*";
    expires 90d;
    access_log off;
  }

  location ~ /\.ht {
    access_log off;
    log_not_found off;
    deny all;
  }
}

请记住,如果您安装了不同的 PHP 或 PHP-FPM 版本,或者您的 Debian 版本默认为另一个 PHP 版本,请相应地调整 Nginx 配置文件。

例如,对于 PHP-FPM 8.2,将行 fastcgi_pass unix:/run/php/php8.1-fpm.sock; 更改为 fastcgi_pass unix:/run/php/php8.2-fpm.sock;。必须将配置中的版本与系统上的版本相匹配,以确保功能顺畅。

了解 WordPress Nginx 服务器块

对于那些刚开始设置 Nginx 和 WordPress 的人来说,这里是服务器块示例的细分:

基本服务器设置:

  • 这些设置定义了服务器块的基础方面,例如 IP 地址、Nginx 监听的端口和服务器名称。
  • root 指令指向包含网站文件的主目录。
  • index 指令指示 Nginx 在提供站点服务时识别索引文件。

位置设置:

  • 这些设置包括各种位置块,规定 Nginx 如何处理不同 URL 的请求。
  • 初始位置块利用 try_files 指令管理对站点根 URL 的请求。
  • 后续位置块专门处理针对 WordPress sitemap.xml 文件的请求。

PHP 处理设置:

  • 这些设置决定了 Nginx 如何处理 PHP 文件。
  • fastcgi_pass 指令指向 PHP-FPM 套接字文件的位置。
  • fastcgi_param 指令将 SCRIPT_FILENAME 参数的值分配给所请求的 PHP 文件的位置。
  • 包含指令拉入 FastCGI 模块的附加配置文件。
  • fastcgi_buffer_size 和 fastcgi_buffers 等指令指定 Nginx 和 PHP-FPM 之间传输数据的缓冲区大小。
  • fastcgi_intercept_errors 指令使 Nginx 能够捕获和管理 PHP 错误。

Gzip 压缩设置:

  • 这些设置配置 Gzip 压缩,减少传送到客户端的文件大小。
  • gzip 指令激活 Gzip 压缩。
  • gzip_comp_level 和 gzip_min_length 等指令分别确定压缩级别和压缩的最小文件大小。
  • gzip_proxied 指令标识哪些请求类型需要压缩。
  • gzip_types 指令枚举了适合压缩的 MIME 类型。

文件缓存设置:

  • 这些设置优化了静态文件的缓存,提高了网站速度。
  • 初始位置块确定资产和媒体文件的到期时间。
  • 后续位置块设置字体和 SVG 文件的过期时间。
  • 诸如 access_log 和 log_not_found 之类的指令控制请求日志记录。
  • add_header 指令附加 Access-Control-Allow-Origin 标头,允许从外部域加载字体和 SVG。

.htaccess 文件阻止:

  • 此设置限制对以 .ht 开头的文件(通常是敏感的服务器配置文件)的访问。

使用符号链接设置 Nginx 服务器块

要完成 Nginx 服务器块配置,您必须从“sites-available”目录激活配置文件。这可以通过创建指向“sites-enabled”目录的符号链接来实现。

执行以下命令,确保将“example.com.conf”替换为您的配置文件的名称:

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

此命令在目录之间建立符号链接,授予 Nginx 对配置文件的访问权限。设置完成后,使用以下命令验证配置:

sudo nginx -t

如果测试没有返回错误,请重新启动 Nginx 以应用服务器块更改:

sudo systemctl restart nginx

完成这些步骤后,您的 WordPress 网站现在应该可以通过 Nginx 访问。

配置 PHP.ini 以获得最佳 WordPress 性能

调整 PHP 设置对于实现 WordPress 的最佳性能至关重要。为了在 WordPress 中高效处理媒体文件,请考虑增加最大上传大小、帖子大小和内存限制。您可能还需要调整最大执行时间和输入变量以防止潜在问题。

要访问您的 php.ini 文件,请使用终端。请记住,文件的位置可能因您的 PHP 版本而异:

sudo nano /etc/php/8.0/fpm/php.ini
sudo nano /etc/php/8.1/fpm/php.ini
sudo nano /etc/php/8.2/fpm/php.ini
sudo nano /etc/php/8.3/fpm/php.ini

要定制 PHP 设置,请在 php.ini 文件中找到并调整以下行:

##increase this to the maximum file size you want to upload, recommended 50 to 100MB## 
 upload_max_filesize = 100M

##increase this to the maximum post size you want to allow, recommended 50 to 100MB##
 post_max_size = 100M

##increase this to the maximum execution time, recommended 150 to 300 seconds##
 max_execution_time = 300

##increase this to the maximum GET/POST/COOKIE input variables, recommended 5000 to 10000##
max_input_vars = 5000

##increase this to the maximum memory limit, recommended 256MB or 512MB. Note that you should ensure your system has enough RAM before raising this.##
memory_limit = 256M

修改 PHP 设置后,重新启动 PHP-FPM 服务器至关重要。这可确保新配置生效,从而使您的 WordPress 网站能够以最佳状态运行。

增加 Nginx 服务器客户端最大主体大小

为了适应 WordPress 网站上的大型文件上传,您需要调整 Nginx 服务器块。这可确保 Nginx 能够处理更大的 HTTP 请求主体,这在处理大型文件上传时至关重要。

修改Nginx服务器块

打开您的服务器块配置文件并插入以下行:

##set to the maximum upload size you set in upload_max_filesize.##
client_max_body_size – <size>

确保 client_max_body_size 的值与您在 PHP 设置中配置的 upload_max_filesize 一致。

重新启动 PHP-FPM

调整 PHP 设置以获得最佳 WordPress 性能(包括上传大小、帖子大小和内存限制)后,重新启动 PHP-FPM 服务器以使更改生效至关重要。重新启动服务器的具体命令取决于您的 PHP 版本。如果您不确定您的 PHP 版本,请查阅系统文档。

对于不同的PHP版本,使用相应的命令重新启动PHP-FPM:

sudo systemctl restart php8.0-fpm
sudo systemctl restart php8.1-fpm
sudo systemctl restart php8.2-fpm
sudo systemctl restart php8.3-fpm

安装 WordPress 前端

完成后端设置和配置后,就可以在您的域上启动 WordPress 前端了。前往您的域开始安装,前缀为“https://”或“http://”。或者,您可以直接访问“https://www.yoursite.com/wp-admin/install.php”。

此 URL 将引导您进入前端安装向导。

步骤 1:选择 WordPress 语言

选择所需的语言并点击 “继续。”

第 2 步:为 WordPress 创建管理员用户

接下来,您将进入一个页面,提示您输入网站标题、用户名、密码以及 WordPress 网站主管理员的电子邮件地址。

出于安全原因,请选择强密码并提供有效的电子邮件地址。请记住,您稍后可以在 WordPress 设置面板中修改其他设置。

对于那些正在开发自己的网站并希望将其对 Google 或 Bing 等搜索引擎保密的人来说,有一个选项是“强烈阻止搜索引擎索引”。

步骤 3:继续并单击“安装 WordPress”按钮

填写完您的详细信息和偏好后,点击 “安装 WordPress” 按钮。安装成功后,您将重定向到登录页面。

步骤 4:继续登录 WordPress 管理页面

输入您的登录详细信息并按“登录”。此操作将引导您进入WordPress仪表板,您可以在其中制作或导入您的网站。

步骤 5:通过 WordPress Admin 查看和调整 WordPress 网站

WordPress 仪表板是您的指挥中心。在这里,您可以起草新帖子、设计页面、处理主题和插件,以及定制网站的外观、内容和操作。

凭借其用户友好的界面,仪表板使您能够快速建立您的网站,使您能够以最小的努力设计一个引人入胜且专业的网站。

使用 Nginx 的 WordPress 的其他提示

使用 Let's Encrypt SSL 证书保护 WordPress 和 Nginx

增强 Web 服务器的安全性至关重要,而实现此目标的一种有效方法是使用 SSL 证书在 HTTPS 上运行 Nginx。Let's Encrypt 提供免费、自动化且开放的证书颁发机构,让您可以更轻松地为 Nginx 服务器设置 SSL 证书。

安装 Certbot

首先使用以下命令安装 certbot 包:

sudo apt install python3-certbot-nginx

生成 SSL 证书

安装 certbot 包后,使用以下命令生成 SSL 证书:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

在此过程中,Certbot 将提示您输入电子邮件和域名。您还可以选择接收来自 EFF 的电子邮件。根据您的偏好决定是否选择加入。

安装证书后,您的网站 URL 将从 HTTP 切换到 HTTPS。访问旧 HTTP URL 的访问者将自动重定向到新的 HTTPS URL。此配置可确保 HTTPS 301 重定向、Strict-Transport-Security 标头和 OCSP Stapling 以实现顶级安全性。

设置自动证书更新

为了保持 SSL 证书有效,请设置一个 cron 作业来自动更新证书。Certbot 提供了一个脚本来实现此目的。在完成设置之前,请运行试运行测试:

sudo certbot renew --dry-run

进入crontab配置,输入:

sudo crontab -e

要自动更新 SSL 证书,请使用以下命令通过 cron 作业来安排更新:

00 00 */1 * * /usr/sbin/certbot-auto renew

这将尝试在每天午夜更新证书。

解决 PHP 会话错误

遇到会话保存问题,尤其是在使用某些插件时?问题的根源可能是 /var/lib/php/sessions/ 目录中的用户权限不正确。但不用担心;您可以使用一个简单的命令来解决这个问题。

调整目录权限

运行以下命令来设置正确的权限:

sudo chown -R www-data:www-data /var/lib/php/sessions/

此命令将 www-data 用户和组设置为会话目录的所有者。因此,WordPress 可以毫无障碍地写入会话数据。此调整对于 WordPress 网站的无缝运行至关重要,特别是如果您使用处理自动化任务(例如发布到社交媒体)的插件。

解决 PHP 会话错误是提高网站性能和改善用户体验的关键。

解决 WordPress 中的 HTTPS 重定向循环

如果您的 WordPress 网站在激活 HTTPS 后发现自己陷入了重定向循环,则可能是因为 WordPress 一直尝试重定向到安全的 HTTPS 版本,但循环从未完成。为了解决这个问题,您可以使用特定的代码行修改 wp-config.php 文件。

修改 wp-config.php 文件

将以下行插入到您的 wp-config.php 中:

define('FORCE_SSL_ADMIN', true);

if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
    $_SERVER['HTTPS'] = 'on';
}

以下是每行代码的具体功能:

  • 第一行将 FORCE_SSL_ADMIN 常量设置为 true,确保所有管理页面都使用 HTTPS。
  • 后续代码检查 HTTP_X_FORWARDED_PROTO 标头是否包含术语“https”。如果找到匹配项,则将 HTTPS 服务器变量指定为“on”。此操作通知 WordPress 连接是安全的。

将这些行集成到您的 wp-config.php 文件中,您应该能够摆脱 HTTPS 重定向循环并确保您的 WordPress 网站通过其新的安全连接顺利运行。

修复域名重定向循环

WordPress 网站中的重定向循环有时可能是由于 wp-config.php 文件中指定的域名与您网站的域名不匹配而导致的。要解决此问题,您需要验证配置中的域名,并可能调整该域名。

检查 wp-config.php 文件

检查 wp-config.php 中的以下行:

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

如果域名与您网站的域名不一致,请相应地进行更正。

结论

使用 LEMP 堆栈成功在 Debian 系统上安装 WordPress 后,您可以充分利用其强大的功能和强劲的性能。定期更新 WordPress 安装和 LEMP 堆栈的组件,以确保最佳的安全性和功能性。享受 WordPress 和 LEMP 堆栈为创建和管理您的网站提供的灵活性和广泛的功能。

Joshua James
跟我来
Joshua James 的最新帖子 (查看全部)

发表评论