在本地用WP-CLI管理VPS上的多个Wordpress站点

     0评论

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也是这个路径,没有的话可以新建。

本地配置

在其中添加以下格式的内容,其中vps1vps2是在~/.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,上面配置文件中的site1site2位于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 --

本文最后修改于5年前 (2019-05-24)

差评不太行一般挺好非常不错 (No Ratings Yet)
读取中...
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址