VPS的一大用途是建Wordpress站点,如果站点比较多,要安装、管理插件,更新站点等,从Web端处理就很麻烦了,本文介绍如何在你的电脑上通过wp-cli命令轻松管理多台VPS机器上的多个Wordpress站点。
前面曾经介绍从Shell安装Wordpress并利用WP-CLI完成汉化,其中关于wp-cli
的安装与配置、基本用法等内容依然适用,本文着重介绍利用ssh通道管理多个站点。
安装wp-cli
要通过wp-cli
管理VPS上的Wordpress,需要在本地机器和VPS上都安装wp-cli
,且要确保VPS上的wp-cli
可以通过wp
命令调用:
下面是在VPS上安装wp-cli
的过程;如本地环境是Linux或Mac,可以参照执行;如本地是windows,只需下载wp-cli.phar
文件并将其放到搜索路径下即可。
# 下载安装wp-cli
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar # 下载
php wp-cli.phar --info # 测试
chmod +x wp-cli.phar # 可执行权限
mv wp-cli.phar /usr/local/bin/wp # 安装到系统命令
wp --info # 测试
配置文件
wp-cli
的配置文件位于~/.wp-cli/config.yml
,Windows也是这个路径,没有的话可以新建。
本地配置
在其中添加以下格式的内容,其中vps1
、vps2
是在~/.ssh/config
定义过的别名。
@myvps1:
ssh: myname@vps1
@myvps2:
ssh: myname@vps2
~/.ssh/config
范例,可根据自己的情况添加多台VPS:
Host vps1
Hostname 111.222.111.222
Port 22
User topvps
IdentityFile ~/keys/id_rsa_1024_topvps.pem
ServerAliveInterval 30
ServerAliveCountMax 5
Host vps2
Hostname 111.222.111.222
Port 22
User topvps
IdentityFile ~/keys/id_rsa_1024_topvps.pem
ServerAliveInterval 30
ServerAliveCountMax 5
Host *
KexAlgorithms +diffie-hellman-group1-sha1
远程配置
一台VPS上可能有多个Wordpresss站点,可以遵循以下格式将其都添加到配置文件中:
@site1:
path: /var/www/html/wordpress1
user: myname1
url: https://www.site1.com
color: true
@site2:
path: /var/www/html/wordpress2
user: myname2
url: https://www.site2.com
color: true
使用
假设本地通过wp-cli
调用wp-cli.phar
,上面配置文件中的site1
和site2
位于vps1
(被alias为myvps1
)上,则管理VPS上Wordpress站点的命令是:wp-cli @myvps1 @site1 command
。即ssh的对象服务器、服务器上的站点依次用@
调用。例如列出site1
的插件:wp-cli @myvps @site1 plugin list
。
命令帮助
SYNOPSIS
wp <command>
SUBCOMMANDS
cache 添加,删除,提取和刷新WP对象缓存对象。
cap 添加,删除和列出用户角色的功能。
cli 查看当前的WP-CLI信息,检查更新或查看已定义的别名。
comment 创建,更新,删除和审核评论。
config 生成并读取wp-config.php文件。
core 下载,安装,更新和管理WordPress安装。
cron 测试,运行和删除WP-Cron事件;管理WP-Cron时间表。
db 使用存储在wp-config.php中的凭据执行基本数据库操作。
embed 检查oEmbed提供程序,清除嵌入缓存等。
eval 执行任意PHP代码。
eval-file 加载并执行PHP文件。
export 将WordPress内容导出到WXR文件。
help 获取有关WP-CLI或特定命令的帮助。
i18n 为WordPress项目提供国际化工具。
import 从给定的WXR文件导入内容。
language 安装,激活和管理语言包。
maintenance-mode 激活,停用或检查站点维护模式的状态。
media 将文件作为附件导入,重新生成缩略图或列出已注册的图像大小。
menu 列出,创建,分配和删除活动主题的导航菜单。
network 执行网络范围的操作。
option 检索并设置站点选项,包括插件和WordPress设置。
package 列出,安装和删除WP-CLI包。
plugin 管理插件,包括安装,激活和更新。
post 管理帖子,内容和元。
post-type 检索网站注册的帖子类型的详细信息。
rewrite 列出或刷新站点的重写规则,更新永久链接结构。
role 管理用户角色,包括创建新角色和重置为默认值。
scaffold 为帖子类型,分类,插件,子主题等生成代码。
search-replace 搜索/替换数据库中的字符串。
server 为特定的WordPress安装启动PHP的内置Web服务器。
shell 打开一个交互式PHP控制台,用于运行和测试PHP代码。
sidebar 列出已注册的侧边栏。
site 在多站点安装上创建,删除,清空,审核和列出一个或多个站点。
super-admin 在多站点安装上列出,添加或删除超级管理员用户。
taxonomy 检索有关已注册分类的信息。
term 使用create,delete和list命令管理分类术语和术语元。
theme 管理主题,包括安装,激活和更新。
transient 添加,获取和删除WordPress瞬态缓存中的条目。
user 管理用户及其角色,功能和元素。
widget 管理小部件,包括在侧栏中添加和移动它们。
参考资料
-- EOF --
本文最后修改于6年前 (2019-05-24)