windows下安装vagrant&virtualBox php环境

VirtualBox 是一款开源虚拟机软件,最主要的免费,虽然还有其他的,但是够用就行

Vagrant介绍: 

1.用于创建和部署虚拟化开发环境

2.通过命令和配置文件来管理虚拟机,很快就能完成一套开发环境的部署,并可以快速打包传播,统一了开发环境,也解决了重复配置环境的麻烦.

(一)

先下载virtualbox,下载完了一步一步安装

地址:https://www.virtualbox.org/wiki/Downloads(官网下载)

然后下载vagrang,点击下一步直到安装完毕

地址:Downloads | Vagrant by HashiCorp

先后顺序不能搞错了,不然安装vagrang是会报错

 (二)

配置Vagrant环境变量
    wins系统:
        在系统变量PATH后添加
        ;E:\Program Files\Oracle\VirtualBox;E:\HashiCorp\Vagrant\bin
        (上面的PATH根据自己的安装软件的路径填写,不要直接复制使用)

(三) 下载box系统模版 

 盒子资源: A list of base boxes for Vagrant - Vagrantbox.es

(四)添加虚拟机

1.添加box

#title是自己起的名字
#url是自己在第三步下载的box文件路径
vagrant box add {title} {url}

2.初始化Vagrant

#新建目录(作用:用来放虚拟机文件,避免与项目文件搞混)
mkdir vagrant_project
#打开此目录
cd vagrant_project
#初始化,title为你上方设置的title
vagrant init {title}

3.从Vagrant启动VirtualBox虚拟机

vagrant up

成功显示的样式

==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection reset. Retrying...
==> default: Machine booted and ready!
[default] GuestAdditions 6.1.4 running --- OK.

4.进入配置步骤 ssh登陆问题

刚刚启动好虚拟机,这个时候还不能使用上面的ip和端口号进行ssh账号密码宿主登陆。
需要更改ssh登陆权限(此处需要切换为root用户)

#使用Vagrant的ssh命令登陆
vagrant ssh
#先更改root账户密码,根据提示需要输入两次密码
sudo passwd root
#切换为root账户(需要输入上一步中修改的root密码)
sudo -i 
#使用vi编辑器打开 /etc/ssh/sshd_config 配置文件进行修改。
vi /etc/ssh/sshd_config

更改配置

PasswordAuthentication yes
PermitRootLogin yes(这个不需要修改,备注:开启关注root直接登录的功能)
#这里简单讲解vi编辑器的一些操作
#先按键盘的 i 键进入编辑模式,修改完成以后需要按 esc 按键退出编辑模式
#然后输入 :wq   就可以退出并保存了
# 需要重新载入配置
service sshd restart
提示:Redirecting to /bin/systemctl restart sshd.service 表示载入失败
centos7以上换成
1. 查看 sshd 服务是否启动:

看到上述信息就可以确定是启动了。

2. 如果没有启动,则需要启动该服务:

systemctl start sshd.service
3. 重启 sshd 服务:

systemctl restart sshd.service
4. 设置服务开启自启:

systemctl enable sshd.service
启动成功后,如果ssh工具连接不上,换一个ip重启后重试

然后需要使用exit命令退出root账户,再退出(logout命令)ssh模式

就可以使用上面设置得账户:root 密码:(上面设置得root得密码)使用ssh工具登录;

2、网络问题(需要修改第五步的时候选择的文件夹内的Vagrantfile配置文件)

几种模式介绍

Forwarded port(端口映射)
是指将宿主计算机的端口映射到虚拟机上的某个端口上,访问宿主计算机的该端口时,请求实际会被转发到虚拟机上指定的端口,配置文件设置语法为

config.vm.network :forwarded_port, guest: 80, host: 8889

优点:简单、容易理解、容易实现外网访问虚拟机。
缺点:需映射很多端口时较麻烦、不支持在宿主机器上使用小于1024的端口来转发(如:不能使用SSL的443端口来进行https连接)。

  • Public network(公有网络)
    这种配置下,虚拟机享受实体机一样的待遇,一样的网络配置,vagrant 1.3版本以后这种配置也支持设定固定IP。
config.vm.network "private_network", ip: "192.168.50.4" # 固定IP

还可以设置动态IP,配置语法如下:

config.vm.network "private_network", type: "dhcp"

优点:安全,只能自己访问。
缺点:因私有原有,所以其他团队成员不能和你协作。

  • Public network(公有网络)
    这种配置下,虚拟机享受实体机一样的待遇,一样的网络配置,vagrant 1.3版本以后这种配置也支持设定固定IP,配置语法如下:
config.vm.network "public_network", ip: "192.168.50.4"

还可以设置桥接网卡,配置语法如下:

config.vm.network "public_network", bridge: "en1: Wi-Fi (AirPort)"

优点:方便团队协作,别人可以访问你的虚拟机。
缺点:需要有网络,有路由器分配IP

  • 3、共享目录
    有时候,我们希望虚拟机能和我们的主机共享一些文件夹,这时候在vagrant的配置文件中进行配置来达到共享目录的目的。
    ​ vagrant的共享目录类型有:

  • 配置语法:(具体这里可以百度。有更为详细的介绍)
    config.vm.synced_folder "/hostPath", "/www/wwwroot", owner:"www", group:"www", create:true  

Vagrant官方文档地址:https://www.vagrantup.com/docs/

参考地址:在Mac下使用Vagrant+VirtualBox构建跨平台开发环境 - 简书

附上vagrant的命令

#--列出本地环境中所有的box
vagrant box list
#--添加box到本地vagrant环境
vagrant box add box-name(box-url)
#--更新本地环境中指定的box
vagrant box update box-name
#--删除本地环境中指定的box
vagrant box remove box-name
#--重新打包本地环境中指定的box
vagrant box repackage box-name
#--启动虚拟机
vagrant up
#--关机
vagrant halt
#--销毁虚拟机
vagrant destroy
#--虚拟机重启
vagrant reload

猜你喜欢

转载自blog.csdn.net/qq_39436397/article/details/83859212
今日推荐