本页内容
- 准备工作
- 本教程涵盖内容?
- LEMP 服务器(Linux、Nginx、MySQL、PHP)的安装与配置
- 安装 WP-CLI
- WP-CLI 基础命令 1. 安装 WordPress 并配置数据库 2. 使用 WP-CLI 管理 WordPress 主题 3. 使用 WP-CLI 管理 WordPress 插件 4. 管理 WordPress 数据库 5. 其他命令
- 结语
- 参考
- 1. 安装 WordPress 并配置数据库
- 2. 使用 WP-CLI 管理 WordPress 主题
- 3. 使用 WP-CLI 管理 WordPress 插件
- 4. 管理 WordPress 数据库
- 5. 其他命令
WordPress 是基于 PHP 和 MySQL 最广泛使用的开源内容管理系统(CMS)。WordPress 被安装在超过 6000 万个网站上。WordPress 有大量的现成主题和插件可供使用。你可以将 WordPress 用作博客平台、电子商务站点(配合 WooCommerce),或用作公司网站的 CMS 系统。Matt Mullenweg 和 Mike Little 于 2003 年 5 月 27 日根据 GPLv2 许可发布了第一个 WordPress 版本。
WP-CLI 是一个命令行工具,提供用于管理 WordPress 站点的命令行接口。从零到精通,你都可以用它来创建 WordPress 站点、管理 WP 数据库、修改站点描述、安装和管理主题与插件等。这是非常酷的功能,能为你节省大量时间。你无需在 Web 浏览器中登录 WordPress,即可更新插件、搭建多站点安装等更多操作。你完全可以在 shell 终端/SSH 中完成这一切。
准备工作
- 这里我将使用 Ubuntu 22.04
- root 权限
本教程涵盖哪些内容?
- 安装并配置一个基础的 LEMP(Linux、Nginx、MySQL、PHP)服务器。
- 安装 WP-CLI
- 使用 WP-CLI 安装 WordPress
- WP-CLI 命令详解
LEMP 服务器(Linux、Nginx、MySQL、PHP)的安装与配置
在本教程中,我将使用 Nginx 作为 Web 服务器、MySQL 作为数据库系统,并使用 PHP-FPM 来运行 WordPress。Nginx 是最快的 Web 服务器之一,它以低内存占用提供高性能。
那么我们开始吧,首先用一条 "apt-get" 命令安装所有软件包:
sudo apt install nginx mysql-server mysql-client php8.1 php8.1-fpm php8.1-mysql vim
注意:系统会提示你输入 MySQL 密码。请为 MySQL root 用户设置一个安全的密码,并记住该密码。我们稍后还会用到它。
现在编辑目录 "/etc/php/8.1/fpm/" 下的 php.ini 文件。
cd /etc/php/8.1/fpm/
sudo nano php.ini
请取消第 773 行 "cgi.fix_pathinfo" 的注释,并将其值修改为 0:
cgi.fix_pathinfo=0
保存并退出。
现在配置 Nginx 以使用 PHP-FPM。请进入目录 "/etc/nginx/sites-available/" 并为虚拟主机配置创建一个新文件。
cd /etc/nginx/sites-available/
sudo nano wpcli.co
粘贴以下配置:
server {
listen 80;
#Web Directory
root /home/vagrant/wordpress;
index index.php index.html index.htm index.nginx-debian.html;
server_name wpcli.co;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
#include h5bp/basic.conf;
location ~ /\.ht {
deny all;
}
}
将 server_name 设置中的 "wpcli.co" 替换为你 WordPress 安装所要使用的域名。
现在通过创建指向 wpcli.co 文件的符号链接(symlink)来启用虚拟主机,链接位于目录 "/etc/nginx/sites-enabled/":
sudo ln -s /etc/nginx/sites-available/wpcli.co /etc/nginx/sites-enabled/wpcli.co
然后创建一个名为 "/home/vagrant/wordpress/" 的新目录,并创建一个新文件,使用 phpinfo() 测试 PHP 安装。这里我将使用一个名为 "vagrant" 的用户,因此 "cd ~" 等同于 "cd /home/vagrant":
cd ~
mkdir -p /home/vagrant/wordpress
echo "<?php phpinfo(); ?>" > wordpress/index.php
重启 nginx Web 服务器和 php-fpm:
sudo service nginx restart
sudo service php8.1-fpm restart
在浏览器中访问站点 "http://wpcli.co/" 来测试 PHP 和 Nginx 的安装情况。请将 wpcli.co 替换为你网站/服务器的域名。
安装 WP-CLI
要安装 wp-cli,你需要使用 curl 或 wget 命令从 GitHub 下载 .phar 文件(.phar 是类似于 Java 中 .jar 的 PHP 归档格式),这里我将使用 curl:
cd /tmp
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
使 wp-cli.phar 文件可执行:
chmod +x wp-cli.phar
并将其移动到 bin 目录,该命令将 wp-cli.phar 重命名为 "wp" 以便更方便地使用:
sudo mv wp-cli.phar /usr/local/bin/wp
现在使用以下命令测试 wp-cli:
wp --info
从这里你可以看到我使用的是 PHP 8.1
WP-CLI 基础命令
到这一步,我们已经拥有:
- 一个正在运行的 LEMP(Nginx、MySQL 和 PHP)安装。
- 一个域名为 wpcli.co(或你为站点选择的域名)的 VirtualHost。
- 位于 "/home/vagrant/wordpress/" 的 Web 目录。
- 已安装的 WP-CLI 命令。
我们将在目录 "/home/vagrant/wordpress/" 中使用域名 "wpcli.co" 安装 WordPress。我们将通过 WP-CLI 来完成。
1. 安装 WordPress 并配置数据库
请进入 Web 目录:
cd /home/vagrant/wordpress/
使用 wp-cli 下载 WordPress,你也可以下载不同的 WordPress 版本,这里我将使用 6.1.1 版本:
wp core download --version=6.1.1
如果你想使用其他版本,请更改版本号。
接下来,通过 MySQL shell 为 WordPress 创建数据库。请使用以下命令连接到 MySQL 服务器:
sudo mysql -u root -p
ENTER YOUR PASSWORD
登录 MySQL 后,创建一个新用户和数据库:
create database wordpressdb;
create user iamuser@localhost identified by 'iamuser@';
grant all privileges on wordpressdb.* to iamuser@localhost identified by 'iamuser@';
flush privileges;
\q
我创建了一个名为 "wordpressdb" 的新数据库、一个名为 "iamuser" 的新用户,并授予该用户访问该数据库的权限。
数据库已创建,现在我将使用上面添加的 MySQL 用户的数据库凭据创建一个 "wp-config.php" 文件。
wp core config --dbname=wordpressdb --dbuser=iamuser --dbpass=iamuser@
当你看到这一行时,说明文件已成功创建。
Success: Generated wp-config.php file.
各选项说明如下:
- --dbname = 数据库名称
- --dbuser = 被授予数据库权限的用户
- --dbpass = 数据库密码
现在是通过 "wp core install" 命令安装 WordPress 的时候了,该命令需要以下参数:
- --url:你的域名。wpcli.co
- --title:你站点的标题。
- --admin_user:用于登录 WordPress 的管理员用户名。
- --admin_password:管理员用户的密码
- --admin_email:你的电子邮件地址,用于接收与站点相关的任何问题的通知。
我们来执行:
wp core install --url=wpcli.co --title=WP-CLI\ \Tutorials --admin_user=admin --admin_password=aqwe123
[email protected]
该命令输出结果如下:
Success: WordPress installed successfully.
现在再次用 Web 浏览器访问你的域名:wpcli.co。
(如果你想测试管理员后台,请改访问 wpcli.co/wp-login.php。)
注意:
如果你遇到类似 "sh: 1: /usr/sbin/sendmail: not found" 的错误消息,请使用以下 apt 命令安装 "sendmail":
sudo apt-get install sendmail
2. 使用 WP-CLI 管理 WordPress 主题
搜索可用的 WordPress 主题:
wp theme search KEYWORD-THEME
安装一个 WordPress 主题,这里以名为 "MyKnowledgeBase" 的主题为例:
wp theme install MyKnowledgeBase
主题安装完成后,激活它:
wp theme activate myknowledgebase
获取所有已安装主题的列表:
wp theme list
3. 使用 WP-CLI 管理 WordPress 插件
搜索插件:
wp plugin search KEYWORD
安装插件:
wp plugin install PLUGINNAME
激活插件:
wp plugin activate PLUGINNAME
查看所有已安装的插件:
wp plugin list
获取插件的状态(启用或禁用):
wp plugin status
4. 管理 WordPress 数据库
使用 WordPress 凭据连接到 MySQL shell:
wp db cli
显示 WordPress 数据库中的所有表:
wp db tables
将 WordPress 数据库导出为 .sql 文件。这对备份非常有用:
wp db export databasename.sql
导入 WordPress 数据库:
wp db import databasename.sql
以 WordPress 的 MySQL 用户身份执行 MySQL 查询:
wp db query "MySQL Query"
5. 其他命令
WP-CLI 还有更多命令和选项。你可以使用 "wp --help" 查看所有命令。WP-CLI 提供了用于管理 WordPress 用户、用户角色、文章、菜单、小工具等的命令。
结语
WordPress 是一个流行的 CMS 和博客平台,被数百万个网站所使用。WordPress 有许多免费和付费的插件与主题可供使用。WP-CLI 是用于管理 WordPress 站点的一组命令。它非常实用且易于使用。你可以直接在 shell 上构建并管理 WordPress 站点,而无需在浏览器中登录 WordPress。
参考
- https://github.com/wp-cli/wp-cli/wiki/
- http://wp-cli.org/commands/