一劳永逸配置本地WordPress开发环境

这篇文章也可以在我的博客查看

搭建本地开发环境是开发者必备的技能之一。而对于WordPress开发者而言,使用Lando可以快速搭建本地运行环境,提高开发效率。本文将介绍如何使用Lando在本地搭建WordPress环境,并展示一些基本的开发调试技巧,帮助读者快速入门并提升开发体验。

哥们2023年了,你还不会为了开发一个软件,配置环境和数据库配一天吧?

哥们我配置Lando好像配了一天了
希望这篇文章可以帮你少踩坑吧

下载Lando

Lando是基于Dock的环境创建工具。帮助开发者快速创建独立的软件环境。它不仅可以创建WordPress项目环境,还可以提供各种常见的开发工具的独立环境(如数据库、Web服务器、Php全家桶)
支持Windows、Linux、MacOS等多个平台。

但Windows需要安装WSL2,否则无法运行。
如果其它系统,则安装非常简单。

本文以Windows 11为例
如果你是Linux/MacOS,本文也不是完全没有参考价值……
你直接跟着WSL的路线走就可以了

安装Lando

安装WSL

本文以Windows 11系统为例
如果你不是Windows用户,你不需要进行这一步

  1. 点击开始按钮
    • 搜索启用或关闭 Windows 功能
  2. 勾选
    • 虚拟机平台
    • 适用于Linux的Windows子系统
  3. 重启电脑
  4. 下载并安装WSL更新包,更新为WSL2
    • 点此链接查看相关文档
  5. 在WSL安装Linux系统
    打开Powershell,输入:
:: 默认WSL2
wsl --set-default-version 2
:: 列出所有可在线下载的系统列表
wsl --list --online
// 找一个你喜欢的安装
wsl --install -d Debian

安装Lando

做法1:在Windows中安装Lando

好处:

  • 文件直观存放于你的文件系统中
  • 完全不需要操作Linux子系统

缺点:

  • 它好慢!它好慢!它好慢!
    • 程序访问站点时,需要到Docker-Desktop的WSL2抽象层进行处理。中间产生超长时延
    • 我的情况:打开一个页面大概需要10秒
      • 聂马马的,那我不如直接远程办公?

除非你真的非常需要这个做法的好处
否则,跳到做法2

具体步骤

安装全家桶

  1. 到官网或者github仓库下载最新的exe安装包
  2. 以管理员身份运行
    • 如果你没有Docker,请勾选安装Docker
    • 如果安装Docker,请确保C盘有足够空间
  3. 如果安装了Docker,重启电脑

做法2:在WSL2中安装Lando

好处:

  • 它超快

缺点:

  • 文件存放于WSL2文件系统中
    • 但这意味着完全独立于你的Windows
    • 但你可以使用VS Code非常方便地访问WSL2文件目录
  • 需要操作Linux子系统
    • 但仅仅是非常简单的操作

具体步骤

安装Docker

由于Lando官方目前存在缺陷,这里有两种但都不完美的做法。

做法1
在Windows中安装docker-desktop
好处:

  • Docker非常直观地存在于你的Windows系统中
    • 它提供了一个好看的可视化界面
  • docker-desktop直接集成了WSL2
    • 这意味着docker-desktop可以直接在WSL2中使用
      • 没错,它一条龙给你处理了WSL2中的docker命令和Docker服务!!
      • 你在Windows-Desktop的Image可以直接在WSL2中使用!!

缺点:

  • 由于Lando官方偷懒,Linux中不允许在不安装docker-ce的情况下使用
    • 你需要在WSL2中安装docker-ce,即使你不会用到它

具体做法:

  1. 在Windows中,下载docker-desktop安装包,并安装
  2. 在WSL2中,安装docker-ce,请参考官方文档
    • 注意:只安装,不启用服务
    • 如果你不安装,到时候装Lando会报错

做法2
只在WSL2中安装docker-ce
好处:我没想到

缺点:

  • 做法1所有的好处,都是做法2的缺点
  • WSL2的docker,并不能反向共享到宿主Windows系统中
  • WSL2中使用自安装的docker服务,似乎配置时会出点小问题……

反正我选择了1,头铁的可以试试2

在WSL2安装Lando

在Github下载最新Lando的发行包

wget https://link-of/lando.deb

安装

sudo dpkg -i lando.deb

配置WordPress站点

以下命令均执行在你安装Lando的系统

打开PowerShell,移动到新建站点的文件夹

cd /path/to/your/workspace

提示:你可以先去官网看默认配置项,直接在初始化时指定更多需要的配置

初始化容器

lando init --recipe wordpress --source remote --remote-url https://wordpress.org/latest.tar.gz --webroot wordpress  --name "app-name"

等待下载完成

启动容器

lando start

查看容器情况

lando info

如果对默认配置不满意,可以打开.lando.yml查看或修改配置,然后lando restart进行重装。

生成配置文件(或者你直接在文件资源管理器复制template文件也可以)

lando wp config create --dbname=wordpress --dbuser=wordpress --dbpass=wordpress --dbhost=database --path=wordpress

主要指定数据库信息,输入lando info返回的字段,如果你使用本文方法安装,应该全都是wordpress

完成WordPress站点的安装

在浏览器中打开lando info显示的站点地址
输入个人信息,即可完成安装

常见问题

lando init出现错误

一般是网络问题,请检查代理设置和DNS设置

lando https不安全

因为lando的证书是自签名的,不受信任

  • 毕竟只是本地开发,你可以忽略它
  • 如果你不爽,你可以按照官方指引信任lando证书

信任lando证书

lando的证书位于~/.lando/certs/lndo.site.pem
在Windows中,通过以下指令安装或卸载证书:

# Add the Lando CA
certutil -addstore -f "ROOT" C:\Users\ME\.lando\certs\lndo.site.pem

# Remove Lando CA
certutil -delstore "ROOT" serial-number-hex

重新构建容器

docker rm -f landoproxyhyperion5000gandalfedition_proxy_1
lando rebuild

lando https返回400

出现以下提示:

400 Bad Request
No required SSL certificate was sent

这是客户端没有正确发送Client Certificate

正常情况下,不应该出现这种情况
请检查代理设置,不要使用代理访问站点

无法修改语言

语言修改项只有英文

可能是由于容器环境中没有正确处理好FTP权限。
请在wp-config.php中指定文件传输方式为direct

具体做法是在改文件这行

/* That's all, stop editing! Happy publishing. */

上方加入:

define('FS_METHOD', 'direct');
/* That's all, stop editing! Happy publishing. */

更多特性

命令行工具

你可以跟在自己家一样,在容器中访问运行环境相关的命令:

lando composer ...
lando php ...
lando wp ...
lando myqsl ...

使用这些环境不会影响你本机原有的环境

安装更多站点

下次,你只需要重复配置WordPress站点部分,就可以快速新增其它本地站点用做开发。

你可能感兴趣的:(全栈,windows,WordPress,Lando,Docker,容器)