1. vagrant方式开发环境部署

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 端口映射

</tr>

</tr> </tbody></table>

  • 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

results matching ""

    No results matching ""