如何在不在 network/internet 上的情况下将 Laravel Homestead 服务器设置为本地 运行?
How to setup Laravel Homestead server to run locally without being on a network/internet?
以前,我在 VirtualBox 上手动设置我自己的 VM 并对其进行配置,以便在我离线编码时它也能工作(没有 internet/not 连接到路由器)。我使用 VirtualBox GUI 中的设置以及 VM 上的 Apache 中的设置来完成此操作。
现在我对学习 nginx 很感兴趣,我决定尝试使用 Laravel 的 Homestead。我正在查看的教程似乎假设我将通过网络访问 Homestead VM(即使它当然在同一台 PC 上)。我需要做什么来确保在我离线时可以访问 VM(比如当我在飞机或火车上编码时)?每当我重新连接到 WiFi(即 apt-get 等)时,我仍然希望能够从 VM 访问互联网。
(注:我的主机是运行 Windows7 64位)
您开发机器上的任何 VM 运行 都可以在您离线时访问。只需确保设置开发机器的主机文件以设置 VM 的位置。
如果您正在关注 Laravel Homestead Setup:
在 scripts/homestead.rb
中,您将有一行包含 VM 的 IP 地址。
# in scripts/homestead.rb
# Configure A Private Network IP
config.vm.network :private_network, ip: settings["ip"] ||= "192.168.10.10"
将此 IP 地址添加到您的 hosts
文件中。这通常位于 C:\Windows\System32\drivers\etc\hosts
#in hosts file
192.168.10.10 yourwebsite.dev
- 下载并安装 Vagrant 和 Virtualbox 的全新副本。
https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.2.msi
http://dlc-cdn.sun.com/virtualbox/4.3.22/VirtualBox-4.3.22-98236-Win.exe
- 同时手动下载 laravel/homestead
https://vagrantcloud.com/laravel/boxes/homestead/versions/0.2.2/providers/virtualbox.box
到我的下载文件夹 C:\Downloads\homestead-0-2-2.box
安装 Virtualbox 和 Vagrant 之后。通过 运行 在 git bash 中执行以下命令安装 laravel/homestead(您可以在此处下载 git bash:http://git-scm.com/downloads)。
vagrant box add laravel/homestead /c/downloads/homestead-0-2-2.box
运行 这个命令在 C:\users\yourusername
git克隆https://github.com/laravel/homestead.gitHomestead
注意:这将创建此文件夹:C:\Users\yourusername\Homestead
有一些文件。
还是在Gitbash,cd到C:\Users\yourusername\Homestead
和运行这个命令:
bash init.sh
注意:这将创建一个文件夹 C:\Users\yourusername\.homestead
,其中包含 Homestead.yaml 和一些其他文件
然后生成一个 SSH 密钥,当您想要通过 运行 宁此命令登录到您的 VM 时需要它:
ssh-keygen -t rsa -C "youremailaddress@youremail.com"
注意:这将询问一些问题,只需按回车键或输入是并按回车键。
这将在 C:\Users\yourusername\.ssh
中创建您的 ssh 密钥
然后你需要通过编辑Nginx
来配置homestead
C:\Users\digitlimit\Homestead\Homestead.yaml
您可以right-click Homestead.yaml 文件然后点击打开然后选择用写字板打开。
我的 Homestead.yaml 编辑后看起来是这样的:
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: /wamp/www
to: /home/vagrant/Code
sites:
- map: laravel.dev
to: /home/vagrant/Code/laravel/public
databases:
- homestead
variables:
- key: APP_ENV
value: local
# blackfire:
# - id: foo
# token: bar
注意:要了解在主机和 VM 之间共享文件夹的过程的映射:
我的 laravel 项目位于 C:\wamp\www\laravel
这个目录/home/vagrant/Code
将在安装后的虚拟机中。
所以我告诉 VM 的是,每当您看到 /home/vagrant/Code 引用此文件夹时 C:\wamp\www\laravel
还有:
sites:
- map: laravel.dev
to: /home/vagrant/Code/laravel/public
我们这里说的是,当我进入浏览器并输入 http://laravel.dev 时,显示 /home/vagrant/Code/laravel/public
的内容实际上指向 C:\www\wamp\laravel\public
编辑 Homestead.yaml 文件后保存您的更改
注意:在我们可以在主机 Web 浏览器中使用 http://laravel.dev 查看我们的 laravel 项目之前,我们需要将以下内容添加到位于
的主机文件中
C:\Windows\System32\drivers\etc\hosts
在列出的其他 ip 地址列表下添加此 ip 地址:
192.168.10.10 laravel.dev
最后,回到你的 Git bash,确保你在
/c/Users/yourusername/homestead
并输入:
流浪起来
等待 vagrant 完成其进程。当您看到任何对话框要求获得在您的系统上创建网络适配器的权限时,请单击“是”
以前,我在 VirtualBox 上手动设置我自己的 VM 并对其进行配置,以便在我离线编码时它也能工作(没有 internet/not 连接到路由器)。我使用 VirtualBox GUI 中的设置以及 VM 上的 Apache 中的设置来完成此操作。
现在我对学习 nginx 很感兴趣,我决定尝试使用 Laravel 的 Homestead。我正在查看的教程似乎假设我将通过网络访问 Homestead VM(即使它当然在同一台 PC 上)。我需要做什么来确保在我离线时可以访问 VM(比如当我在飞机或火车上编码时)?每当我重新连接到 WiFi(即 apt-get 等)时,我仍然希望能够从 VM 访问互联网。
(注:我的主机是运行 Windows7 64位)
您开发机器上的任何 VM 运行 都可以在您离线时访问。只需确保设置开发机器的主机文件以设置 VM 的位置。
如果您正在关注 Laravel Homestead Setup:
在 scripts/homestead.rb
中,您将有一行包含 VM 的 IP 地址。
# in scripts/homestead.rb
# Configure A Private Network IP
config.vm.network :private_network, ip: settings["ip"] ||= "192.168.10.10"
将此 IP 地址添加到您的 hosts
文件中。这通常位于 C:\Windows\System32\drivers\etc\hosts
#in hosts file
192.168.10.10 yourwebsite.dev
- 下载并安装 Vagrant 和 Virtualbox 的全新副本。
https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.2.msi
http://dlc-cdn.sun.com/virtualbox/4.3.22/VirtualBox-4.3.22-98236-Win.exe
- 同时手动下载 laravel/homestead https://vagrantcloud.com/laravel/boxes/homestead/versions/0.2.2/providers/virtualbox.box
到我的下载文件夹 C:\Downloads\homestead-0-2-2.box
安装 Virtualbox 和 Vagrant 之后。通过 运行 在 git bash 中执行以下命令安装 laravel/homestead(您可以在此处下载 git bash:http://git-scm.com/downloads)。
vagrant box add laravel/homestead /c/downloads/homestead-0-2-2.box
运行 这个命令在 C:\users\yourusername
git克隆https://github.com/laravel/homestead.gitHomestead
注意:这将创建此文件夹:C:\Users\yourusername\Homestead
有一些文件。
还是在Gitbash,cd到
C:\Users\yourusername\Homestead
和运行这个命令:bash init.sh
注意:这将创建一个文件夹 C:\Users\yourusername\.homestead
,其中包含 Homestead.yaml 和一些其他文件
然后生成一个 SSH 密钥,当您想要通过 运行 宁此命令登录到您的 VM 时需要它:
ssh-keygen -t rsa -C "youremailaddress@youremail.com"
注意:这将询问一些问题,只需按回车键或输入是并按回车键。
这将在 C:\Users\yourusername\.ssh
然后你需要通过编辑Nginx
来配置homesteadC:\Users\digitlimit\Homestead\Homestead.yaml
您可以right-click Homestead.yaml 文件然后点击打开然后选择用写字板打开。
我的 Homestead.yaml 编辑后看起来是这样的:
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: /wamp/www
to: /home/vagrant/Code
sites:
- map: laravel.dev
to: /home/vagrant/Code/laravel/public
databases:
- homestead
variables:
- key: APP_ENV
value: local
# blackfire:
# - id: foo
# token: bar
注意:要了解在主机和 VM 之间共享文件夹的过程的映射:
我的 laravel 项目位于 C:\wamp\www\laravel
这个目录/home/vagrant/Code
将在安装后的虚拟机中。
所以我告诉 VM 的是,每当您看到 /home/vagrant/Code 引用此文件夹时 C:\wamp\www\laravel
还有:
sites:
- map: laravel.dev
to: /home/vagrant/Code/laravel/public
我们这里说的是,当我进入浏览器并输入 http://laravel.dev 时,显示 /home/vagrant/Code/laravel/public
的内容实际上指向 C:\www\wamp\laravel\public
编辑 Homestead.yaml 文件后保存您的更改
注意:在我们可以在主机 Web 浏览器中使用 http://laravel.dev 查看我们的 laravel 项目之前,我们需要将以下内容添加到位于
的主机文件中C:\Windows\System32\drivers\etc\hosts
在列出的其他 ip 地址列表下添加此 ip 地址:
192.168.10.10 laravel.dev
最后,回到你的 Git bash,确保你在
/c/Users/yourusername/homestead
并输入:流浪起来
等待 vagrant 完成其进程。当您看到任何对话框要求获得在您的系统上创建网络适配器的权限时,请单击“是”