WordPress 是全球最受欢迎的内容管理系统 (CMS) 之一,只要配置好 PHP 及 MySQL 环境后,就可以轻松的创建自己的博客和网站。通过 WordPress 可以快速启动网站项目,Wordpress 在全球拥有非常大量的用户,即使遇到技术问题,也可以轻松获得解决方案。哪怕是你完全不懂技术,也可以轻松的创建属于自己的网站。
在本教程中,我们将介绍如何在部署了 LEMP 堆栈(Linux、Nginx、MySQL 和 PHP)的 Ubuntu 20.04 服务器安装 WordPress 实例。
目录
- 前言 — 项目说明;
- 第 1 步 — 为 WordPress 创建 MySQL 数据库和用户;
- 第 2 步 — 安装额外的 PHP 扩展;
- 第 3 步 — 配置 Nginx;
- 第 4 步 — 下载 WordPress;
- 第 5 步 — 设置 WordPress 配置文件;
- 第 6 步 — 通过 Web 界面完成安装;
- 最后 — 总结
项目说明
首先,有一台 Ubuntu 20.04 服务器。同时还要满足下列条件:
sudo
权限用户:本教程中使用具有sudo
权限的非 root 用户。- 安装 LEMP 堆栈:WordPress 需要 Web 服务器、数据库和 PHP 才能正常运行。设置 LEMP 堆栈(Linux、Nginx、MySQL 和 PHP)可满足所有这些要求。
本教程假设您在服务器上配置了 sudo
管理用户和 Nginx 服务器。
第1步 — 为 WordPress 创建 MySQL 数据库和用户
WordPress 通过 MySQL 来管理和存储站点及用户信息。尽管服务器已经安装了 MySQL,但我们需要创建一个数据库和一个用户供 WordPress 使用。
首先,登录到 MySQL 的 root 管理帐户。如果 MySQL 配置为使用 auth_socket
身份验证插件(默认设置),可以使用以下命令登录 MySQL 管理帐户sudo
:
sudo mysql
如果已将Mysql身份验证方法更改为使用 MySQL 的root 帐户的密码,请改用以下命令:
mysql -u root -p
系统将提示输入 MySQL 的 root 帐户设置的密码。
登录后,创建一个 WordPress 可以控制的单独数据库。在本文中我们创建一个名为“wordpress”的数据库。可以通过输入以下命令为 WordPress 创建数据库:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
注意:每个 MySQL 语句都必须以分号 ( ;
)结尾。如果遇到错误,请检查是否以分号结尾。
接下来,让我们创建一个单独的 MySQL 用户帐户,我们将专门使用它来操作我们的新数据库。从管理和安全的角度来看,创建单一用途的数据库和帐户是一个好的方式。在本文中我们将使用 wordpressuser
作为用户账户的名称,这个可以根据需要来自定义。
通过以下命令,我们将创建一个帐户、设置密码并授予对刚创建的数据库的访问权限。请记住在此处选择一个强密码:
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost';
现在我们就拥有了一个 WordPress 专用的数据库和用户帐户。
完成数据库任务后,通过键入以下命令退出 MySQL:
EXIT;
MySQL 会话将退出,并将返回到常规的 Linux shell。
第 2 步 – 安装额外的 PHP 扩展
在设置 LEMP 堆栈时,它需要一些基本的 PHP 扩展来让 PHP 与 MySQL 通信。WordPress 及其许多插件需要使用额外的一些 PHP 扩展。
让我们通过键入以下命令,来下载并安装一些常用的 PHP 扩展以用于 WordPress:
sudo apt update
sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip
注意:每个 WordPress 插件都有自己的要求。有些可能需要安装额外的 PHP 扩展包。可以通过检查 WordPress 插件文档以发现它对 PHP 的具体要求。
安装完扩展后,重新启动 PHP-FPM 进程,以便正在运行的 PHP 处理器可以利用新安装的功能:
sudo systemctl restart php7.4-fpm
现在我们已经在服务器上安装了所有需要的 PHP 扩展。
第 3 步 – 配置 Nginx
接下来,让我们对 Nginx 服务器配置块文件进行一些调整。一般情况下,我们应该在/etc/nginx/sites-available/
目录中保存站点的配置文件。在本实例中,我们使用的配置文件路径为 :/etc/nginx/sites-available/wordpress
此外,在本文中,我们将 如下路径 :/var/www/wordpress
用作 WordPress 安装的根目录。
注意:默认情况下,默认配置文件 /etc/nginx/sites-available/default
会将 /var/www/html
作为网站的 Web 根目录。如果只想在服务器上部署一个网站,则可以使用此方法。如果想要创建多个网站,最好在 /etc/nginx/sites-available/
目录为每个站点创建单独的配置文件。
使用 sudo
权限打开站点的配置文件:
sudo nano /etc/nginx/sites-available/wordpress
在 server
块中,我们添加几个 location
块。
首先为对 /favicon.ico
和 /robots.txt
的请求创建配置内容,因为我们不想记录对它们的请求。
使用正则表达式 location 块来匹配对静态文件的任何请求。我们也关闭对这些文件的请求的日志记录,并将它们标记为可缓存。我们可以调整此静态文件列表,以包含站点中可能使用的任何其他文件扩展名:
/etc/nginx/sites-available/wordpress
server {
. . .
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; allow all; }
location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}
. . .
}
在现有location /
块内,让我们调整 try_files
列表。通过在行前加上井号 ( #
)来注释掉默认设置,然后添加突出显示的行。
如下所示:
/etc/nginx/sites-available/wordpress
server {
. . .
location / {
#try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php$is_args$args;
}
. . .
}
完成后,保存并关闭文件。
现在,让我们通过键入以下命令,来检查我们的配置是否存在语法错误:
sudo nginx -t
如果没有报告错误,请键入以下命令重新加载 Nginx:
sudo systemctl reload nginx
接下来,让我们下载并设置 WordPress。
第 4 步 — 下载 WordPress
现在我们的服务器环境软件已配置完成,接下来我们下载并设置 WordPress。安全起见,建议直接从WordPress官网下载安装。
切换到可写目录,然后键入以下命令下载Wordpress压缩包:
cd /tmp
进入临时文件夹。然后,输入以下命令下载最新版本的 WordPress 压缩包:
curl -LO https://wordpress.org/latest.tar.gz
注意: -LO
标志用于直接获取压缩文件。
解压 WordPress 压缩包:
tar xzvf latest.tar.gz
稍后,我们需要将解压后的文件,移到我们设置的网站根目录中,但在此之前,我们先将示例配置文件复制为正常的wordpress配置文件:
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
现在,我们要将目录的全部内容,复制到我们的网站根目录中。我们使用该 -a
标签让我们拥有相应权限,在源目录末尾有一个点表示复制目录中的所有内容(包括隐藏文件):
sudo cp -a /tmp/wordpress/. /var/www/wordpress
现在Wordpress 程序文件已准备就绪,我们需要向 www-data 用户和组分配所有权。www-data 是运行 Nginx 的用户和组,Nginx 需要有读写权限,才能为 WordPress 网站和文件提供服务及执行自动更新:
sudo chown -R www-data:www-data /var/www/wordpress
步骤 5 — 设置 WordPress 配置文件
接下来,让我们对主要的 WordPress 配置文件进行一些设置。
打开Wordpress配置文件后,首先调整一些密钥以包装安全性。WordPress 为这些值提供了一个安全的生成器,因此我们不必自己想出这些值。这些值仅在系统内部使用,因此虽然复杂单不会损害可用性。
要从 WordPress 密钥生成器中获取安全值,请键入:
curl -s https://api.wordpress.org/secret-key/1.1/salt/
我们将获得如下所示的独特值:
警告:请不要复制下面所示的值,要使用自己生产的值!
Outputdefine('AUTH_KEY', '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H');
define('SECURE_AUTH_KEY', 'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3');
define('LOGGED_IN_KEY', 'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88');
define('NONCE_KEY', 'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g');
define('AUTH_SALT', 'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES 07VC*Lj*lD&?3w!BT#-');
define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY');
define('LOGGED_IN_SALT', 'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|');
define('NONCE_SALT', 'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');
直接粘贴到配置文件中以设置安全密钥的配置行。
现在,打开 WordPress 配置文件:
sudo nano /var/www/wordpress/wp-config.php
找到包含这些设置的虚拟值的部分。它看起来像这样:
/var/www/wordpress/wp-config.php
. . .
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
. . .
删除这些行并将刚才复制的值粘贴过来:
/var/www/wordpress/wp-config.php
. . .
define('AUTH_KEY', 'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY', 'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY', 'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
. . .
接下来,让我们修改文件开头的一些数据库连接设置。设置在 MySQL 中配置的数据库名称、数据库用户和关联的密码。
我们要做的另一个设置是WordPress 写入文件系统的方法。由于我们已授予 Web 服务器写入网站目录的权限,因此我们将文件系统方法设置为“direct”。否则,WordPress 在执行某些操作时可能会提示输入 FTP 账号和密码。
/var/www/wordpress/wp-config.php
. . .
define( 'DB_NAME', 'wordpress' );
/** MySQL database username */
define( 'DB_USER', 'wordpressuser' );
/** MySQL database password */
define( 'DB_PASSWORD', 'password' );
. . .
define( 'FS_METHOD', 'direct' );
完成后保存并关闭文件。
步骤 6 — 通过 Web 界面完成安装
现在服务器配置已完成,我们可以通过 WordPress 的 Web 界面来完成安装步骤。
在 Web 浏览器中,访问域名或服务器公共 IP 地址:
http://server_domain_or_IP/wordpress
选择您要使用的语言:
接下来,将进入主设置页面。
为 WordPress 站点设置网站名称并创建一个用户名(出于安全考虑,建议不要选择“admin”之类的名称)。系统会自动生成一个强密码。我们可以选择使用系统设置的强密码,也可以自己另外设置。
输入我们的电子邮件地址:
点击安装后,进入网站后台登录页面:
登录后,打开 WordPress 管理仪表板:
结论
现在,WordPress 已经安装完成并可以使用了!接下来,我们可能要为文章设置固定链接(仪表盘的 Settings > Permalinks
)。
作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/wordpress/how-to-install-wordpress-with-lemp-on-ubuntu-20-04/