WSL2 + Docker Desktop:使用lnmp1/lnmp打造Windows下的Linux开发环境
WSL2 + Docker Desktop:使用lnmp1/lnmp打造Windows下的Linux开发环境
【免费下载链接】lnmp:computer: :whale: :elephant: :dolphin: :penguin: :rocket: Start Docker LNMP(LEMP) In less than 2 minutes Powered by Docker Compose. 让 PHP 开发者快速(一键)搭建基于容器技术(Docker、Kubernetes)的开发、测试、生产(CI/CD by Drone)环境.项目地址: https://gitcode.com/gh_mirrors/lnmp1/lnmp
在Windows系统上搭建高效的Linux开发环境一直是开发者的需求痛点。借助WSL2(Windows Subsystem for Linux 2)和Docker Desktop,结合lnmp1/lnmp项目,你可以在短短几分钟内构建一个功能完善的LNMP(Linux、Nginx、MySQL、PHP)开发环境,让PHP开发变得简单高效。
为什么选择WSL2 + Docker Desktop + lnmp1/lnmp?
WSL2提供了轻量级的Linux内核,让Windows用户能够原生运行Linux命令和应用;Docker Desktop则通过WSL2后端实现了容器化部署,避免了传统虚拟机的性能损耗;而lnmp1/lnmp项目则进一步简化了LNMP环境的配置流程,实现了真正的"一键部署"。
这种组合的优势在于:
- 性能接近原生:WSL2的虚拟文件系统性能比WSL1提升显著
- 开发体验一致:与Linux生产环境保持高度一致,减少"在我电脑上能运行"的问题
- 配置简单:通过Docker Compose实现环境标准化,避免繁琐的手动配置
- 跨平台兼容:项目同时支持Linux、macOS和Windows系统
前期准备:安装WSL2与Docker Desktop
1. 启用WSL2功能
首先需要在Windows中启用WSL2功能:
- 打开PowerShell(管理员模式)
- 执行以下命令启用必要组件:
wsl --install - 安装完成后重启电脑
详细安装指南可参考项目文档:docs/install/windows.md
2. 安装Docker Desktop
- 从Docker官网下载并安装最新版Docker Desktop
- 安装完成后,在设置中启用WSL2集成:
- 打开Docker Desktop设置
- 进入
Resources->WSL INTEGRATION - 勾选你所使用的WSL2发行版(如Ubuntu)
- 点击"Apply & Restart"应用设置
快速部署:使用lnmp1/lnmp搭建开发环境
1. 克隆项目代码
在WSL2终端中执行以下命令克隆项目:
git clone https://gitcode.com/gh_mirrors/lnmp1/lnmp cd lnmp2. 配置WSL2文件系统
为获得最佳性能,建议将项目文件放置在WSL2文件系统中,而非Windows挂载路径。修改项目配置文件:
# 编辑.env文件设置项目路径 nano .env将项目路径设置为WSL2内部路径,例如:
APP_ROOT=/app3. 启动LNMP环境
执行以下命令一键启动所有服务:
./lnmp-docker up -d首次启动会自动拉取所需Docker镜像,可能需要几分钟时间。启动完成后,你可以通过以下命令检查服务状态:
./lnmp-docker ps环境优化:提升开发体验的技巧
1. 解决Windows与WSL2文件性能问题
默认情况下,将项目放在Windows目录(如/mnt/c/)会导致性能问题。推荐:
- 将项目放置在WSL2主目录(如
~/projects/) - 通过VSCode远程开发功能访问WSL2中的项目
性能优化详情:docs/laravel.md
2. 配置WSL2环境变量
编辑WSL2的bash配置文件,添加常用环境变量:
nano ~/.bashrc添加以下内容:
# 将lnmp工具添加到PATH export PATH=$PATH:/path/to/lnmp/bin # 设置默认编辑器 export EDITOR=nano使配置生效:
source ~/.bashrc3. 设置文件权限
在WSL2中修复项目文件权限:
sudo chown -R $USER:$USER /app sudo chmod -R 755 /app日常使用:管理LNMP环境的常用命令
服务管理
# 启动所有服务 ./lnmp-docker up -d # 停止所有服务 ./lnmp-docker down # 重启服务 ./lnmp-docker restart nginx php mysql # 查看服务日志 ./lnmp-docker logs -f nginx进入容器
# 进入PHP容器 ./lnmp-docker exec php bash # 进入MySQL容器 ./lnmp-docker exec mysql mysql -uroot -p数据库管理
# 导出数据库 ./lnmp-docker exec mysql mysqldump -uroot -p mydb > backup.sql # 导入数据库 cat backup.sql | ./lnmp-docker exec -i mysql mysql -uroot -p mydb常见问题解决
WSL2 IP地址变化导致服务不可访问
WSL2重启后IP地址可能变化,解决方法:
- 在WSL2中执行以下命令获取当前IP:
hostname -I - 更新项目配置中的数据库主机地址
Docker Desktop启动失败
如果Docker Desktop无法启动,尝试:
- 重启WSL2:
wsl --shutdown - 重新启动Docker Desktop
PHP扩展安装
需要安装额外PHP扩展时:
- 编辑PHP配置文件:config/php/zz-docker.example.conf
- 添加所需扩展
- 重启PHP服务:
./lnmp-docker restart php
总结
通过WSL2、Docker Desktop和lnmp1/lnmp的组合,Windows用户可以轻松获得与Linux环境一致的开发体验。这种方式不仅配置简单、性能优异,还能确保开发环境与生产环境的一致性,是PHP开发者的理想选择。
项目提供了完善的文档和工具链,无论是新手还是有经验的开发者都能快速上手。立即尝试,体验Windows下高效Linux开发环境的魅力!
更多高级配置和使用技巧,请参考项目官方文档:docs/ 配置文件目录:config/ 示例应用代码:app/demo/
【免费下载链接】lnmp:computer: :whale: :elephant: :dolphin: :penguin: :rocket: Start Docker LNMP(LEMP) In less than 2 minutes Powered by Docker Compose. 让 PHP 开发者快速(一键)搭建基于容器技术(Docker、Kubernetes)的开发、测试、生产(CI/CD by Drone)环境.项目地址: https://gitcode.com/gh_mirrors/lnmp1/lnmp
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考