Ubuntu 22.04 上的 WordPress WP-CLI 和 Nginx 入门
WordPress 是使用最广泛的基于 PHP 和 MYSQL 的开源内容管理系统 (CMS)。 WordPress 安装在超过 6000 万个网站上。 WordPress 有大量现成可用的主题和插件。您可以使用 WordPress 作为博客平台、电子商务网站(使用 WooCommerce)或公司网站的 CMS 系统。 Matt Mullenweg 和 Mike Little 于 2003 年 5 月 27 日在 GPLv2 许可证下发布了第一个 WordPress 版本。
WP-CLI 是一个命令行工具,提供命令行界面来管理您的 WordPress 网站。从零到英雄,您可以使用它来创建 WordPress 网站、管理 WP 数据库、更改网站描述、安装和管理主题和插件等。这是非常酷的东西,可以节省您大量时间。您可以更新插件、设置多站点安装等,而无需在网络浏览器中登录 WordPress。您可以通过 shell 终端/SSH 完成这一切。
先决条件
- 我在这里使用 Ubuntu 22.04
- 根权限
本教程涵盖哪些内容?
- 安装并配置基本的 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 安装应使用的域名。
现在,通过创建指向“/etc/nginx/sites-enabled/”目录中的文件 wpcli.co 的符号链接来激活虚拟主机:
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 是 PHP 存档格式,类似于 Java 的 .jar) ,我将在这里使用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(或您为站点选择的域名)的虚拟主机。
- “/home/vagrant/wordpress/”中的 Web 目录。
- 已安装 WP-CLI 命令。
我们将在目录“/home/vagrant/wordpress/”中安装域名为“wpcli.co”的 WordPress。我们将使用 WP-CLI 来完成此操作。
1.安装Wordpress并配置数据库
请转到网络目录:
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
该命令的结果是:
Success: WordPress installed successfully.
现在再次使用网络浏览器访问您的域名: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”查看所有命令。有一些命令可以管理 WordPress 用户、用户角色、帖子、菜单、小部件等。
结论
WordPress 是一个流行的 CMS 和博客平台,在数百万个网站上使用。有许多免费和商业 WordPress 插件和主题可用。 WP-CLI 是一组用于管理 WordPress 网站的命令。它非常有用且易于使用。 您可以直接在 shell 上构建和管理您的 WordPress 网站,而无需在浏览器中登录 WordPress。
参考
- https://github.com/wp-cli/wp-cli/wiki/
- http://wp-cli.org/commands/