虚拟机还是得依靠 VirtualBox 来搭建,免费小巧。
下载地址:www.virtualbox.org/wiki/Downloads
下载地址:downloads.vagrantup.com/
根据提示一步步安装。
你要一个系统的镜像,可以来这里下载:www.vagrantbox.es/
github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box
假设我们下载的镜像存放路径是 /Users/leng/Downloads/CentOS-6.4-x86_64-v20131103.box.box
,在终端里输入:
$ vagrant box add xxx /Users/leng/Downloads/CentOS-6.4-x86_64-v20131103.box
有下面的字样提示的时候说明你已经安装成功。
box: Successfully added box 'centos' (v0) for 'virtualbox’!
也可以使用命令查看:
$ vagrant box list
ps:xxx 自己随意命名,我的命名是centos。 创建一个开发目录(比如:/Users/leng/vagrant),你也可以使用已有的目录,切换到开发目录里,用 centos 镜像初始化当前目录的环境:
$ cd /Users/leng/vagrant # 切换目录
$ vagrant init centos # 初始化
PS: 上面的命令含义为:vagrant 是vagrant的命令,init为参数,初始化一个box环境,centos为你要初始化的box环境名称。这时,你会在当前目录下看到一个Vagrantfile文件,这个文件就是vagrant box环境的配置文件。
编辑这个文件:$ vim Vagrantfile
网络配置:
Vagrant的网络有三种模式 在这里我设置的是第二种私有模式。
1.较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用 ,在Vagrantfile中找到:
25行左右
# config.vm.network :forwarded_port, guest: 80, host: 8080 去掉前面的#即可
guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。
2.如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP ,在Vagrantfile中找到:
29行左右
# config.vm.network :private_network, ip: “192.168.1.104” 去掉前面的 # 号
192.168.1.104 表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可
3.如果需要将虚拟机作为当前局域网中的一台计算机,由局域网进行DHCP,那么在Vagrantfile中配置:
34行左右
# config.vm.network :public_network
$ vagrant up # 启动环境
你会看到终端显示了启动过程,启动完成后,我们就可以用 SSH 登录虚拟机了运行的各种环境和参数了。
$ vagrant ssh # SSH 登录
目录映射:
在Vagrantfile中找到:
40行左右
#config.vm.synced_folder “/Users/leng/Documents/website”, “/var/www” 去掉前面的# 改成你需要的目录 ps:
”/Users/leng/Documents/website
“这个为你本地的项目目录,这个目录会自动挂在到box环境中去
”/var/www
”为虚拟开发环境中的挂载点。
下面在附上几个常用的命令:
vagrant box add
vagrant box list
vagrant box remove
vagrant box repackage
vagrant init [box-name] [box-url]
vagrant up [vm-name] [–[no-]provision] [-h]
vagrant destroy [vm-name]
vagrant suspend [vm-name]
vagrant reload [vm-name]
vagrant resume [vm-name]
vagrant halt [vm-name]
vagrant status [vm-name]
vagrant package [vm-name] [–base name] [–output name.box][–include one,two,three] [–vagrantfile file]
vagrant provision [vm-name]
vagrant ssh [vm-name] [-c command] [– extra ssh args]
vagrant ssh-config [vm-name] [–host name]
vhosts:
awesome:
proxy: ''
server_name: awesome.dev
server_aliases:
- www.awesome.dev
www_root: /var/www/awesome
listen_port: '80'
index_files:
- index.html
- index.htm
- index.php
client_max_body_size: 1m
locations:
h9qb6jwlkmmo:
location: /
try_files:
- $uri
- $uri/
- /index.php?s=$uri&$args
fastcgi: ''
fastcgi_index: ''
fastcgi_split_path: ''
tig1qighla9x:
location: '~ \.php$'
fastcgi: '127.0.0.1:9000'
fastcgi_index: index.php
fastcgi_split_path: '^(.+\.php)(/.*)$'
fast_cgi_params_extra:
- 'SCRIPT_FILENAME $request_filename'
- 'APP_ENV dev'
ssl_cert: ''
ssl_key: ''
ssl_port: ‘443’
source: /Users/leng/Documents/website
target: /var/www
本站(PHP --> Golang)已重构,代码开源
当你能力不能满足你的野心的时候,你就该沉下心来学习