window下的homestead部署

我这个人比较懒,图片我就不上传了基本就说说步骤,记录下安装时遇到的坑,还有各种问题。

系统环境:win7

软件:

VirtualBox 4.2.16(坑1)

Vagrant

Laravel Homestead

Git

首先安装好 VirtualBoxVagrant,安装完成 Vagrant 后需要重启,重启后执行

vagrant -v

说明安装完成,提示找不到命令的把 vagrant 的bin目录加入环境变量即可。

接下来你需要执行 vagrant box add laravel/homestead 来安装 homestead 的虚拟机文件,但是以目前来看,国内这样做是下载不来的,这是下载链接

https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.2.6/providers/virtualbox.box

使用下载工具搞定后,就需要安装了

vagrant box add laravel/homestead ./homestead-0-2-6-vb.box

等待数秒即可安装完毕,add 后面两个参数,前面这个名一定要是lavavel/homestead,至于为什么我后面会讲。后面那个是你下载来的 .box 文件路径。如果提示找不到,你可以写绝对路径。如:D:/ homestead-0-2-6-vb.box.

接下来的操作需要用到 git bash 这个工具(或者你自己下个扩展的CMD,例如cygwin),下载安装好 git 之后打开 ‘git bash‘, 随便找个盘执行。我是在g盘执行的.

git clone https://github.com/laravel/homestead.git hs

然后进入g:/hs目录 下执行

bash init.sh

会在 C 盘生成一些 homestead 的配置文件,下面后修改这些配置。如果你是用cygwin的话,会在cygwin的安装目录下,有个home文件夹里面才有homestead的配置文件

在C:\Users\samliang\.homestead 找到 Homestead.yaml,下面是我的配置

ip: "192.168.10.10"  <!-- 虚拟机 ip -->
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: g:\Code    <!-- 我的window项目地址 -->
      to: /home/vagrant/Code   <!-- 对应虚拟机的项目地址 -->

sites:
    - map: homestead.app  <!-- 添加的第一个站点名称 -->
      to: /home/vagrant/Code/laravel /public <!-- 该站点对应的虚拟机文件 -->

databases:
    - homestead

variables:
    - key: APP_ENV
      value: local

现在配置 SSH ,也就是上面配置中看到 ~/.ssh/id_rsa.pub~/.ssh/id_rsa

在 git bash中运行 ssh-keygen -t rsa -C "[email protected]"[email protected]这里填自己的邮箱就可以了。 接下里几个 回车,完成配置。

接着去到g:/hs 文件夹下运行vagrant up,第一次运行时会在 C 盘创建虚拟机文件,所以耐性等待,接下来看到我们的虚拟机启动成功。

很多教程说要运行vagrant init 其实是不用的,因为你用git clone下来的已经有一个写好的Vagrantfile文件了。这个文件是homestead配置好的初始化参数,请不要随便修改除非你明白如何修改。而init命令是为了生成Vagrantfile 文件。这个文件是对虚拟机的启动时用来初始化的参数。有兴趣的同学,可以到vagrant学习,这个文件是用ruby语法写的。

上面不是说vagrant box add laravel/homestead 这个不能更改么。这是因为这个git clone下来的Vagrantfile文件是调用这个名字laravel/homestead的box,如果你前面box add没用这个名字,就会一直提示找不到。当然你可以研究下Vagrantfile文件,找下在那里有这个配置的修改。

启动成功后。在浏览器中打开 localhost:8000,看到以下画面说明,homestead已经搭建成功。

接下来修改我们 windows 的host文件,在后面加上(坑3)

192.168.10.10     homestead.app

然后访问homestead.app可以看到同样画面。
这里要明白:配置中的

folders:
    - map: E:\Projects    <!-- 我的window项目地址 -->
      to: /home/vagrant/Code   <!-- 对应虚拟机的项目地址 -->

就是将主机与虚拟的这个两个目录共享,里面的文件更新都会同步。

sites:
    - map: homestead.app
      to: /home/vagrant/Code/laravel/public

这里/home/vagrant/Code/laravel/public 是homestead.app站点目录,在 g:/Code中新建一个laravel项目名称为 laravel(如何建laravel大家应该知道吧),然后在打开浏览器访问homestead.app,就是我们熟悉的画面了。

当然,你可以不建laravel项目,直接建好G:/Code/laravel/public 这些文件夹,然后在里面写php也是能直接运行的。

接下来可以进入我们的虚拟机看看环境什么的。通过 vagrant ssh 进入到虚拟机

PS:

如何增加站点:

在homestead.yaml修改如下:

sites:

    - map: homestead.app

      to: /home/vagrant/Code/laravel/public

    - map: php.app

      to: /home/vagrant/Code/phplocal

    - map: lala.app

      to: /home/vagrant/Code/lala/public

修改完后,如果虚拟机未运行,你可以执行 vagrant up –provision来更新。

如果已运行,你可以执行vagrant provision更新。

最后总结一下各种坑:

1VirtualBox的版本选择!VirtualBox的版本选择!VirtualBox的版本选择!

为什么我在软件里只有VBOX写明是那个版本呢。是因为我在vbox4.35.0里折腾了大半天,每次vagrant up第一次启动有时成功有时失败。而且,就算第一次启动成功,如果你用vagrant  halt关机,然后再重新启动,会出现启动不了的情况!你打开vbox界面,你会看到虚拟机是异常退出状态!

所以一定要用我这个版本,当然如果不行你还是老实换版本,不要折腾了。具体怎样解决我也找不到。

 

2:安装intl扩展

当安装intl扩展时,会要求你sudo app-get update.

但是,执行sudo app-get update会报错的。具体是因为DNS解析问题。

解决方法如下:(我用的是第二个)

修改dns:

1,重启生效:

sudo vi /etc/resolvconf/resolv.conf.d/base(这个文件默认是空的)

在里面插入:

nameserver 8.8.8.8


nameserver 8.8.4.4

如果有多个DNS就一行一个

修改好保存,然后执行

sudo resolvconf -u

再看/etc/resolv.conf,最下面就多了2行:

cat /etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)


#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN


nameserver 8.8.8.8


nameserver 8.8.4.4

可以看到我们的设置已经加上了,然后再ping一个域名,当时就可以解析了,无需重启。

2,重启失效:

配置文件地址
/etc/resolv.conf

使用编辑器打开

改为如下内容:

search localdomain


nameserver 202.96.128.86 希望修改成的DNS


nameserver 202.96.128.166 备用DNS

重启网络:sudo /etc/init.d/networking restart。即可

3host文件修改后也不能正常访问homestead.app

这个是因为windowdns cline服务问题。到管理工具-》选择服务找到dns Cline服务将其停止掉即可。

时间: 2024-10-09 02:36:31

window下的homestead部署的相关文章

Window下Tomcat单机部署多应用

1. 新增tomcat相关环境变量 如上图,有两个tomcat,tomcat1和tomcat2 2.修改catalina.bat 文件 第一个tomcat不变 第二个tamcat的catalina.bat 路径 ${tomcat}/bin/catalina.bat 将文件中的CATALINA_BASE替换为CATALINA_2_BASE 第二个tomcat目录下的startup.bat 路径 ${tomcat}/bin/startup.bat 将文件中的CATALINA_HOME替换为CATAL

window下Nodejs的部署

nodejs http://nodejs.org/#download npm node cli.js install npm -gf //可以安装最新版的NPM node cli.js install [email protected]1.0.105 -gf //可以安装指定版本的NPM npm remove express -g //删除expres supervisor $ npm install -g supervisor $ supervisor app.js Express expre

Window下Nginx1.6+Tomcat6+Memcached精简配置

总体思路:本机安装Nginx,分发到192.168.0.10.192.168.0.11两台Tomcat服务器,192.168.0.12安装Memcached,两台Tomcat服务器通过Memcached共享Session.(当然全部部署到同一台电脑也可以,配置好端口就行) 一.Nginx1.6 1.配置conf/nginx.conf: (1)http {}中添加: upstream 127.0.0.1{         server   192.168.0.10:8080;         se

安装Window下Jenkins

之前没接触过持续集成工具,之前只是了解了下自动化部署,最近一直在看自动化集成这块,发现要学的东西好多好多,可能在小公司用的不多,但如果在大公司,如果每个项目都要手动build.deploy的话那也太耗费时间.人力物力了.有了自动化集成工具那就方面了好多.Jenkins就是比较常用的自动化部署工具,而且是开源的,用的也比较广.所以了解下Jenkins是很有必要的. 一.Jenkins下载与安装 首先是Jenkins包的下载了,刚开始我下载window版本的,installed也能完成,可打开htt

JIRA 6.3.6在Linux下的安装部署

前提:已安装好JDK.MySQL JIRA 是澳大利亚 Atlassian 公司开发的一款优秀的问题跟踪管理软件工具,可以对各种类型的问题进行跟踪管理,包括缺陷.任务.需求.改进等.JIRA采用J2EE技术,能够跨平台部署.它正被广泛的开源软件组织,以及全球著名的公司使用. JIRA产品非常完善且功能强大,安装配置简单,多语言支持.界面十分友好,和其他系统如CVS.Subversion(SVN).VSS.LDAP.邮件服务整合得相当好,文档齐全,可用性以及可扩展性方面都十分出色,拥有完整的用户权

libevent在window下编译

此文只因为自己经历所写,并非转帖或原创一说,因为大致编译方法都大同小异的. 环境:       window 10 工具:       visual studio 2013 版本:   libevent-2.0.22-statble 过程: $VC_PATH :  ...\vs2013\vc\bin $LIBEVENT_PATH:   ...\libevent-2.0.22-stable a. 编译前准备: libevent源码中关于win32版本的描述,未必会与本机版本一致,所以,首先需要修改

window下redis的安装和创建redis启动服务

目录 window下redis的安装和部署 1.下载 2.解压下载的redis压缩包(位置随意,自己知道在哪里就行),里面的文件大概如下: 3.进入redis的解压目录下,进入cmd, 执行以下命令: 4. 启动redis服务 5. 最后,进入redis 额外的(把redis添加到环境变量中去) window下redis的安装和部署 1.下载 github地址: https://github.com/MicrosoftArchive/redis/releases 2.解压下载的redis压缩包(

解决Window下文件名过长,导致无法删除,打开等问题

由于重装了Win8.1,在C盘会生成window.old的文件夹.本来想删除的,却出现文件名太长无法删除.那就改名呗,右键选择文件,我去,只有打开和发送选项,连属性选项都没有.当然打开和发送功能也不能正常使用. 那就用cmd来改名或删除呗,发现两个操作均由于文件名过长而失败. 由于当时没有截图,事后模拟一下,发现不能再现之前的情况: 后来google一个可行方案:可以使用文件短名来代替长长的文件名. cd C:\Windows\Vss\Writers\Application dir \x #就会

【VMware虚拟化解决方案】 基于Win2012 R2 WDS下ESXI全自动部署解决方案

一.项目需求: 近期因项目需要准备部署100台ESXI主机,可是存在一个问题,这100台主机分别位于不同城市之间,包括上海.广州.重庆.北京等,如果去到现场进行安装,非常的费力费时,根本不可能在一个星期内完成此项目需求,这将影响整个项目的进度安排.为此对客户的网络环境进行了分析,公司总部与其它分公司之前采用10M专线进行连接,这对我来说是一件很让我兴奋的消息,我们可以通过PXE实现ESXI的全自动安装,按照一台机大约25分钟的时候计算,并行进行5台机的部署,25*(100/5)=500分钟即可完