Window下使用linux开发环境

Window下使用linux开发环境

使用laravel的人都知道Homestead是有多方便。但是要使用Homestead在墙内是很困难的。所以索性放弃了Homestead,自己搭建类似Homestead的开发环境。

  • 使用的工具
  • Vmware Workstation
  • contos7
  • *mobaxterm

  • Window下使用linux开发环境
    • Homestead原理简要说明
      • 接下来,知道了这种原理之后,就可以自己创建模拟环境了
      • 第一步
      • 第二步
      • 第三步、部署项目
      • 第四部
      • 第五步
      • 至此,模拟homestead开发环境配置完成。
      • 写在最后

Homestead原理简要说明

其实,Homestead的原理也很简单,就是使用虚拟机(VMware、virtualbox、paralles)配合使用vagrant来使用的。
首先:vagrant能够在cmd中使用各种命令来管理虚拟机,vagrant也有类似docker那样的包,在vagrant中叫box。
其次:vagrant往虚拟机中添加各种box,就跟在虚拟机中安装各种软件是一样的。
而:homestead是包装了vagrant的一些集合命令,是的homestead可以快速简便的创建站点,重启服务等操作。

接下来,知道了这种原理之后,就可以自己创建模拟环境了

名词:主机-》windows; 客户机-》虚拟机中的操作系统
操作目标:使用客户就的开发环境,项目代码在主机中。即在windows下编程,在linux环境中运行。

第一步

安装Vmware 这个就不多说了:
虚拟机中安装centos 这个也自行解决;

第二步

** 在主机(即windows)选择或者创建一个用来共享的文件夹,例如:D:\work;
** 在虚拟机中将文件夹恭喜到客户机中:虚拟机->设置
Window下使用linux开发环境_第1张图片

登陆客户机,执行如下命令

sudo vmhgfs-fuse .host:/work /mnt/hgfs

之后就可以在 /mnt/hgfs下看到共享的文件夹了。

如果没看到,参考VMWare与Centos7.0无法共享文件夹的问题总结

第三步、部署项目

在这里,应该在客户机中安装好了lnmp/lamp环境,推荐oneinstack一键安装包。

** 在部署项目过程中,会遇到的问题,
问题1
No input file specified.
解决:
此时在nginx/apache错误日志中应该可以看到 permission denied。
由于共享到客户机中的文件都是root用户的,而且还改变不了用户所属,所以此时使用root用户运行apache跟php-fpm。
修改php-fpm.conf
user=root
group=root

修改nginx.conf

user root root

重启nginx php-fpm

问题2
启动php-fpm 可能会提示不能使用root用户启动的问题。
解决:
在启动php-fpm 时添加一个参数 php-fpm -R
如果是用onestack的,修改 /etc/init.d/php-fpm
Window下使用linux开发环境_第2张图片
问题3
重启客户机后,/mnt/hgfs 下看不到共享的文件夹
解决:
登陆客户机之后执行
sudo vmhgfs-fuse .host:/work /mnt/hgfs

如果觉得麻烦,可以自己写个脚本。这个我还不会。。。。。。

第四部

配置站点
接下来的流程就是一般的配置客户机中的站点。
客户机中的站点配置成功之后,在windows下将站点的域名host到客户机的ip。
例如:
192.168.675.129 mysite.tt

第五步

mobaxterm

Window下使用linux开发环境_第3张图片

mobaxterm是一个强大的工具,包含了cygin ,ssh ,ftp ,等。
如果是团队开发,用到svn或者git之类的,登陆客户机,进入共享的文件夹中今提交或者更新代码就可以了。

至此,模拟homestead开发环境配置完成。

写在最后

如果觉得麻烦,在windows下就能够满足日常的开发,就不需要这种了。
当然,往后可能会写一些脚本直接来配置这些。。。以后再说吧。

你可能感兴趣的:(php)