1.1. 下载地址
VirtualBox <https://www.virtualbox.org/wiki/Downloads>
Vagrant <https://www.vagrantup.com/downloads.html>
BOX包(适用于php5.4版本的bbc) <http://122.144.135.218/commerce_b2b2c-lnmp-with-prism-0.0.2.box> BOX包(适用于php5.6版本的bbc) <http://122.144.135.218/shopex-bbc-lnmp-php56-with-redis-v0.3.box>
1.2. 原理
VirtualBox 是一款开源虚拟机软件。
Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它使用Oracle的开源VirtualBox虚拟化系统,使用Chef创建自动化虚拟环境。
BBC Vagrant 是基于VirtualBox创建的虚拟机,并通过Vagrant进行打包而得到的VM环境。在虚拟机中部署好开发环境并建立虚拟机和实体机的文件共享,在开发时,可以通过实体机进行文件修改,并经过虚拟机中的环境执行,从而实现不同操作系统的工作环境的轻松部署。
1.3. 安装文档
- 下载并安装VirtualBox( <https://www.virtualbox.org/wiki/Downloads> )。
- VirtualBox 4.3.12下载地址(windows请用此链接):<http://dlc-cdn.sun.com/virtualbox/4.3.12/index.html>
- 下载并安装Vagrant( <http://www.vagrantup.com/downloads.html> )。
- 下载box文件。
执行vagrant box add bbc/centos65 $name.box。
vagrant box add bbc/centos65 /data/vm/commerce_b2b2c-lnmp-with-prism-0.0.2.box
进入工作目录(workspace)(cd workspacedir)(比如:cd ~/code/)。
cd ~/code/
执行vagrant init bbc/centos65。
vagrant init bbc/centos65
执行vagrant up。
vagrant up
- 在工作目录(workspace)解压bbc开发包,用浏览器打开127.0.0.1:8000即可。
1.4. 注意事项
- 所有操作需要在workspace目录下执行
- 浏览页面是127.0.0.1:8000。对应workspace/ecstore/
- mysql网页配置端口是3306,如果需要从母机连接,需要访问33060端口。
- 如果需要连接ssh,为:vagrant ssh 即可。
- windows下,因为virtualbox本身一个bug,所以不能使用4.3.18版本,4.3.12版本可以用。
- win8可能需要改bios(开启intel的虚拟技术intel Virtualization Technology)
- box中的系统是64位的,建议在64位操作系统中使用
1.5. Vagrant 操作命令
导入box
vagrant box add [BOX NAME] [BOX URL]
显示box列表
vagrant box list
移除box列表
vagrant box remove [BOX NAME]
初始化Vagrant(给当前目录创建vagrant环境)
vagrant init [BOX NAME]
启动Vagrant
vagrant up
关闭Vagrant
vagrant halt
暂停Vagrant
vagrant suspend
删除当前目录的Vagrant环境
vagrant destroy
实际环境中如果需要进行其它操作,可以使用-h参数来获取帮助例如:
vagrant -h
1.6. BOX相关参数
ecstore-lnmp-0.0.2.box 应用参数
项目
内容 centos 6.5 libmcrypt 2.5.7 libxml 2.9.0 freetype 62.3.5 gd 2.0.35 mysql 5.6.16 nginx 1.5.10 php 5.3.28 zend guard loader php-5.3-linux-glibc23-x86_64 mysql用户名密码 用户名:root,密码无 linux用户名密码 root用户和vagrant用户,密码均为vagrant 安装目录 /usr/local/webserver(php/mysql/nginx/freetype/gd) 启动脚本 /etc/init.d/(php-fpm|nginx|mysql) php配置文件 /usr/local/webserver/php/php.ini php-fpm配置文件 /usr/local/webserver/php/etc/php-fpm.conf nginx配置文件 /usr/local/webserver/nginx/conf/nginx.conf mysql配置文件 /etc/my.cnf 共享目录 /vagrant/ www目录 /vagrant/ecstore/ - ecstore-lnmp-0.0.2.box 端口映射
- shopex-bbc-lnmp-php56-with-redis-v0.1.box 应用参数
应用 | 端口号 | 映射端口号 |
---|---|---|
ssh | 22 | 2222 |
nginx | 80 | 8000 |
prism | 8080 | 8001 |
mongodb | 27017 | - |
rabbitmq-server(web)(预占用) | 15672 | 8002 |
mysql | 3306 | 33060 |
php-fpm | 9000 | - |
项目 | 内容 |
---|---|
virtualBox版本 | 5.0.20 |
vagrant | 1.8.40 |
CentOS | CentOS 6.6 minimal |
MySQL | 5.6.22-log MySQL Community Server (GPL) |
nginx | openresty/1.9.7.4 |
Redis | v=3.2.0 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=e1c0dcc4eb7d7755 |
ZendGuardLoader | Zend Guard Loader v3.3, Copyright (c) 1998-2014, by Zend Technologies |
OPcache | Zend OPcache v7.0.4-dev, Copyright (c) 1999-2015, by Zend Technologies |
mysql用户名密码 | 用户名:root 密码:空 |
linux用户名密码 | root用户和vagrant用户,密码均为vagrant |
安装目录 | /usr/local/{nginx,mysql,redis,php56} |
启动脚本 | /etc/init.d/{nginx,mysql,redis,php56} |
php配置文件 | /usr/local/php56/etc/php.ini |
php-fpm配置文件 | /usr/local/php56/etc/php-fpm.conf |
nginx配置文件 | /usr/local/nginx/conf/nginx.conf |
共享目录 | /vagrant/ |
www目录 | /vagrant/ |
- shopex-bbc-lnmp-php56-with-redis-v0.1.box 端口映射关系
应用 | 虚拟机端口号 | 宿主机端口 |
---|---|---|
ssh | 22 | 2222 |
nginx | 80 | 8000 |
mysql | 3306 | 33060 |
php-fpm | 9000 | - |
redis | 6379 | 16379 |