搭建本地开发环境是开发者必备的技能之一。而对于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用户,你不需要进行这一步
- 点击开始按钮
- 搜索启用或关闭 Windows 功能
- 勾选
- 虚拟机平台
- 适用于Linux的Windows子系统
- 重启电脑
- 下载并安装WSL更新包,更新为WSL2
- 点此链接查看相关文档
- 在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
具体步骤
安装全家桶
- 到官网或者github仓库下载最新的exe安装包
- 以管理员身份运行
- 如果你没有Docker,请勾选安装Docker
- 如果安装Docker,请确保C盘有足够空间
- 如果安装了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中使用!!
- 没错,它一条龙给你处理了WSL2中的
- 这意味着
缺点:
- 由于Lando官方偷懒,Linux中不允许在不安装
docker-ce
的情况下使用- 你需要在WSL2中安装
docker-ce
,即使你不会用到它- 🌱
- 你需要在WSL2中安装
具体做法:
- 在Windows中,下载
docker-desktop
安装包,并安装 - 在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站点
部分,就可以快速新增其它本地站点用做开发。