win10 系统下安装 wsl + Laravel 开发环境 Ubuntu16.04LTS + WIN10

win10 系统下安装 wsl laravel开发环境 ubuntu16.04LTS + WIN10

最近社区有一篇文章 打开新大门,使用 wsl 代替虚拟机的可行性方案 ,介绍了怎么使用 win10 子系统配置 laravel 开发环境。本人瞎捣鼓了一下,发现并不是一帆风顺的就安装好了。

问题一: 当进行到,使用脚本搭建环境 这一步的时候会出现 一直处于‘初始化软件源’

我去 github 项目看了一下,发现出现这个问题的同学还真不少。不过里面也没有给过明确的解决方案。经过多次尝试,发现可能 win10 系统的权限有关,这个问题在很多软件的安装过程中多次遇到,我建议在win10上安装运行软件最好采用 ‘以管理员身份运行’ 的方式启动。这样会避免很多问题。 还有一点,因为我的网络还算比较不错,所以 更换 Linux 子系统的软件源并更新 这一步我并没后替换,还是采用的系统自带的软件源。

问题二: 在 创建测试站点 这一步 输入正确的项目名称还是提示不合法的输入。

这一问题让我很是费解,甚至看过相关脚本源码之后还是一头雾水。最终解决的方法是,用管理员权限启动子系统,然后在 root 用户下执行命令就没有提示错误了。个人认为其实是权限问题,只是脚本没有通过提示都是 项目名称包含非法字符 有些误导。

问题三:所有步骤都做完之后,项目还是无法启动。

因为我途中关闭过子系统。发现原来重启后 php ,redis,mysql 等服务都不会开机自动启动的,需要手动启动才可以。

问题四:每次开机启动子系统报错。
file
这个问题是因为子系统所需要的服务没有启动,打开任务管理器 重启 LxssManager 服务就可以了。

设置 host 的时候直接设置 127.0.0.1 就行了,子系统的 ip 就是本机的 ip

最后来正式启动后,访问项目的速度还是不错的!对比 homestead 来说的好处是不用装虚拟机和下载box 启动的速度也比较快!

发现还有很多同学不能正常安装成功,这里贴出自己的安装步骤 ,大概时长10分钟。没有像其他同学说的要几天时间。我没有完全按照 [@circle](https://learnku.com/users/20822) 的教程 打开新大门,使用 wsl 代替虚拟机的可行性方案,减少了一些不太重要的步骤。
  1. 安装 wsl 安装好 以管理员身份运行 启动 wsl

  2. 设置 root 密码

sudo passwd root // 为 root 用户设置密码
su root // 切换 root 用户
  1. 安装环境 开发

wget -qO- https://raw.githubusercontent.com/summerblue/laravel-ubuntu-init/master/download.sh - | bash
  1. 安装完毕就可以创建项目了,现在项目里面是没有东西的,我只是用这里自动生成的配置文件(偷个小懒),我直接用的 本地 d 盘下的项目的名字和域名,后面直接创建一个软链接就行了

./laravel-ubuntu-init/16.04/nginx_add_site.sh
  1. 创建本地项目到 wsl 的软连接

cd /var/www   //切换到 wsl 项目下
rm -rf your_project_name  //删除前面创建项目生成的空目录,后面用软连接会冲突

ln -s /mnt/d/www/your_project_name /var/www/your_project_name
  1. 启动 相关服务

service mysql start
service nginx start
service redis-server start
sudo service php7.2-fpm start
  1. 现在已经可以访问你的本地项目了,不过会非常慢。修改一下 nginx 的配置 vi /etc/nginx/nginx.conf, 添加一下代码

http {

    ...

    fastcgi_buffering off;

    ...
}
  1. 重启 nginx 现在就可以顺畅的开发了。

service nginx restart
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

子系统好评, Surface Pro 4 乞丐版虚拟机用不起,这个子系统占用极小,根据同一个帖子摸索了一下,已经把项目建起来了,我都想滚回 Windows 了

3年前 评论
circle

其实这些问题我也遇到了 :grin:,不要问我为什么没有提到,因为实在是太多了 :joy:,我还整理一个wsl 踩坑记录书签集,回头我再把这些记录也贴出来

3年前 评论

@circle 我遇到的问题都不多,不过感觉挺让人有点摸不着头脑!把这些自己遇到的问题贴出来,希望别人遇到相同问题的时候能够有些帮助!

3年前 评论

都不会是一帆风顺的

3年前 评论

@gangpula 是啊,很多时候看天意!

3年前 评论

你好请问怎么你是怎么解决的,我子系统安装了lnmp然后部署了laravel项目 配置了一个虚拟域名,但是就一直访问不了

1年前 评论
snowlyg (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!