`
dcj3sjt126com
  • 浏览: 1872227 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用 Vagrant 打造跨平台开发环境

阅读更多

参考地址1: http://segmentfault.com/blog/fenbox/1190000000264347

参考地址2: http://blog.phpor.me/2014/10/12/vagrant-%E6%9C%AC%E5%9C%B0%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83.html

 

下载的系统是centos6.3 64位: https://s3.amazonaws.com/itmat-public/centos-6.3-chef-10.14.2.box

Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python/ruby/java 这类语言开发 web 应用,“代码在我机子上运行没有问题”这种说辞将成为历史。

我们可以通过 Vagrant 封装一个 Linux 的开发环境,分发给团队成员。成员可以在自己喜欢的桌面系统(Mac/Windows/Linux)上开发程序,代码却能统一在封装好的环境里运行,非常霸气。

 

以下是实战内容:

Last login: Tue Mar 24 14:20:44 on console
➜  ~  ls
AFNetworking               Documents                  Music                      Rainforest                 install.log                swift_language_learning.md
AndroidStudioProjects      Downloads                  PhpstormProjects           VirtualBox VMs             mbox                       t.txt
Applications               Library                    Pictures                   a.php                      myfile.in                  test.awk
Desktop                    Movies                     Public                     dead.letter                paros
➜  ~  cd Documents/vagrant_maxwelldu 
➜  vagrant_maxwelldu  ls
movienext
➜  vagrant_maxwelldu  cd movienext 
➜  movienext  ls
➜  movienext  ll
➜  movienext  vagrant box add base ~/Downloads/centos-6.3-chef-10.14.2.box 
==> box: Adding box 'base' (v0) for provider: 
    box: Downloading: file:///Users/michaeldu/Downloads/centos-6.3-chef-10.14.2.box
==> box: Successfully added box 'base' (v0) for 'virtualbox'!
➜  movienext  ls
➜  movienext  ll
➜  movienext  vagrant box list
base (virtualbox, 0)
➜  movienext  vagrant init base
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
➜  movienext  ll
total 8
-rw-r--r--  1 michaeldu  staff  3016 Mar 24 16:00 Vagrantfile
➜  movienext  vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'base'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: movienext_default_1427184057998_56337
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (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 timeout. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: 
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default: 
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if its present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version of
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you see
    default: shared folder errors, please make sure the guest additions within the
    default: virtual machine match the version of VirtualBox you have installed on
    default: your host and reload your VM.
    default: 
    default: Guest Additions Version: 4.1.22
    default: VirtualBox Version: 4.3
==> default: Mounting shared folders...
    default: /vagrant => /Users/michaeldu/Documents/vagrant_maxwelldu/movienext
➜  movienext  vagrant ssh
Last login: Fri Sep 14 17:53:41 2012 from 10.0.2.2
[vagrant@localhost ~]$ cd /va
vagrant/ var/     
[vagrant@localhost ~]$ cd /va
vagrant/ var/     
[vagrant@localhost ~]$ cd /vagrant/
[vagrant@localhost vagrant]$ wget http://www.baidu.com
--2015-03-24 09:02:48--  http://www.baidu.com/
Resolving www.baidu.com... ^C
[vagrant@localhost vagrant]$ exit
logout
Connection to 127.0.0.1 closed.
➜  movienext  vim Vagrantfile 
➜  movienext  vagrant reload 
==> default: Attempting graceful shutdown of VM...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 => 2222 (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 timeout. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version of
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you see
    default: shared folder errors, please make sure the guest additions within the
    default: virtual machine match the version of VirtualBox you have installed on
    default: your host and reload your VM.
    default: 
    default: Guest Additions Version: 4.1.22
    default: VirtualBox Version: 4.3
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => /Users/michaeldu/Documents/vagrant_maxwelldu/movienext
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: to force provisioning. Provisioners marked to run always will still run.
➜  movienext  vagrant ssh
Last login: Tue Mar 24 09:01:32 2015 from 10.0.2.2
[vagrant@localhost ~]$ ping www.baidu.com
PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.
64 bytes from 61.135.169.125: icmp_seq=1 ttl=63 time=5.12 ms
64 bytes from 61.135.169.125: icmp_seq=2 ttl=63 time=5.86 ms
64 bytes from 61.135.169.125: icmp_seq=3 ttl=63 time=4.77 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2112ms
rtt min/avg/max/mdev = 4.775/5.255/5.867/0.459 ms

 

到这里把vagrant安装好了, 进去了, 后面还需要安装lnmp

nginx安装参考地址: http://blog.csdn.net/stuartjing/article/details/8124491

nginx对应版本地址: http://nginx.org/en/download.html

 

安装好了之后, 

 

vagrant box list
vagrant box add base ~/Downloads/centos-6.3-chef-10.14.2.box 
vagrant init base
vi Vagrantfile
config.vm.network "private_network", ip: "192.168.33.10"

vagrant up
vagrant ssh

sudo su -

yum search mysql
yum -y install mysql mysql-devel mysql-server php-mysql
service mysqld start
/usr/bin/mysqladmin -u root password 'root'
 mysql -uroot -proot
 netstat -tunpl
 mysql -uroot -proot
 use mysql
 select Host, User, Password from user;
 update user set Host='%' where User='root' And Host='127.0.0.1';
 update user set Password=password('root');
 select Host, User, Password from user;
 flush privileges;
 exit
 service mysqld restart


 /etc/init.d/iptables stop
 chkconfig --levels 35 iptables off
 
 yum -y install php php-gd php-fpm php-pdo

 yum search nginx
 yum -y install nginx

 /etc/init.d/php-fpm restart
 

 

 

  • 大小: 789.9 KB
分享到:
评论

相关推荐

    vagrant打造跨平台可移动的开发环境_简介:Vagrant目前是国内互联网公司应用最多的内部开发_vagrant.zip

    vagrant打造跨平台可移动的开发环境_简介:Vagrant目前是国内互联网公司应用最多的内部开发_vagrant

    vagrantpress, vagrant/Puppet的WordPress开发环境.zip

    vagrantpress, vagrant/Puppet的WordPress开发环境 VagrantPressVagrantPress 是开发WordPress主题和模块的打包开发环境。我最初创建这个项目是为了帮助开发一个WordPress博客的子模块。安装了什么Ubuntu信任( 14 04...

    Vagrant2.2.5版本64位

    2. **跨平台兼容**: Vagrant 支持多种主机操作系统,如Windows、MacOS和Linux,并且可以运行在不同的虚拟化平台之上,如VirtualBox、VMware、Docker等。 3. **配置自动化**: 使用Vagrantfile,开发者可以编写Ruby...

    vagrant_2.2.5的64位版本

    Vagrant 是由 HashiCorp 公司开发的一款开源软件,它的主要目标是让开发者能够构建一致的跨平台开发环境。通过Vagrant,你可以创建一个轻量级且可重复的虚拟机环境,这些环境基于 VirtualBox、VMware、Docker 等虚拟...

    virtualbox+vagrant搭建虚拟环境

    2. **一致性**:无论在哪台机器上,Vagrant都能确保创建出一致的开发环境。 3. **简化管理**:通过简单的命令行工具,Vagrant可以启动、停止、销毁虚拟机,甚至可以同步代码到虚拟机内部。 **virtualbox+vagrant...

    vagrant_2.2.7_x86_64.rar

    Vagrant 是一款强大的开发环境管理工具,它允许开发者在本地创建和配置轻量级的、可移植的工作环境,主要用于简化虚拟机的管理...结合 VirtualBox 或 Docker,Vagrant 提供了一个跨平台、易于管理的开发环境解决方案。

    Vagrant中搭建Docker虚拟环境(上)-Mac

    Vagrant提供了可配置、可复用的虚拟开发和部署环境,对于开发人员来说,Vagrant可以帮你统一团队成员的开发环境。也可以提供一套一致的线上线下环境。vagrant 在mac上通过命令行工具可以管理统一的镜像(BOX)所以...

    vagrant_2.2.5_x86_64.zip

    6. **多平台支持**:尽管本例是Windows 64位版本,但Vagrant也支持MacOS和Linux,确保跨平台开发的一致性。 7. **网络配置**:Vagrant 提供了灵活的网络选项,如NAT、桥接和私有网络,方便虚拟机与外界通信。 8. *...

    vagrant_2.2.5_x86_64.rar

    6. **多供应商支持**:除了VirtualBox,Vagrant还可以配合VMware、Hyper-V、Docker等虚拟化平台使用,提供了跨平台的灵活性。 7. **插件**:Vagrant拥有丰富的插件生态系统,可以扩展其功能,例如自动配置、网络...

    vagrant-ansible-playbooks:Ansible playbook 使用 Vagrant 设置我的开发环境

    这个 repo 旨在保存一些 Ansible 剧本和角色,以使用 Vagrant 构建我的开发环境。 角色 rails-dev 角色 该角色将 Debian/Ubuntu 机器转变为开发 Ruby Web 应用程序(Ruby on Rails、Sinatra 等)的环境。 它依赖于...

    vagrant_2.1.1

    4. 多平台支持:Vagrant 支持多种虚拟化技术,除了 VirtualBox,还包括 VMware、Hyper-V 等,这意味着你可以在不同的平台上使用相同的开发环境。 5. 社区支持:Vagrant 有丰富的社区资源,提供了大量的预配置盒子,...

    dev.env:无需Docker或Vagrant的零设置开发环境-源码

    开发环境dev.env是一个零设置开发环境。 它所执行的功能与所命名的功能完全相同,可帮助您快速创建开发环境,而无需进行设置-dev.env将为您设置并启动所有内容。现在支持什么平台? 当前,仅Mac OS X已过测试。 请帮...

    vagrant安装包2.2.19 windows

    总之,Vagrant 2.2.19 for Windows与Homestead结合使用,为Laravel开发提供了便捷且标准化的环境。通过简单的配置和管理,开发者可以快速地在本地搭建一个安全、独立的开发环境,从而更专注于代码编写,提高工作效率...

    vagrant--Update

    综上所述,"vagrant--Update" 涉及到 Delphi 程序的在线更新机制,利用 Indy 实现文件下载,配合数据库更新策略,以及使用 Vagrant 创建可重复的开发环境,确保升级过程的可靠性和跨平台一致性。在实际操作中,...

    vagrant2.2.9.zip

    Vagrant 是一款强大的虚拟化工具,它通过提供简单的命令行接口来创建和管理虚拟环境,尤其适合开发人员在本地构建高度可重复的开发环境。Vagrant 2.2.9 版本是这个软件的一个更新迭代,旨在提高稳定性和用户体验。 ...

    在VirtualBox中使用vagrant搭建CentOS虚拟机

    "使用 Vagrant 在 VirtualBox 中搭建 CentOS 虚拟机" 在 VirtualBox 中使用 Vagrant 搭建 CentOS 虚拟机是一种非常方便和灵活的虚拟机管理方式。下面是关于使用 Vagrant 搭建 CentOS 虚拟机的知识点: 1. 安装 ...

    vagrant.dmg2.1.5 mac 最新版本

    Vagrant 支持多种虚拟化平台,如VirtualBox、VMware、AWS等,使得开发者能够在不同的环境中重复构建一致的开发环境。 Vagrant 2.1.5 版本可能包含以下特性: 1. **Box管理**:用户可以通过Vagrant管理和更新Box,...

    vagrant最新(2.2.7)版本.zip

    在软件开发中,Vagrant 可以帮助开发者创建轻量级、可重复的开发环境,使得团队成员之间的工作环境保持一致,无论他们使用的是什么操作系统。最新版本的 Vagrant 为 2.2.7,这是一个重要的更新,可能包含性能优化、...

    vagrant最新版2.2.14

    Vagrant 还强调了跨平台兼容性,使得开发环境可以在不同的操作系统之间轻松迁移。2.2.14 版本可能会增强这一特性,确保无论是在 Windows、macOS 还是 Linux 上,都能获得一致的体验。 最后,Vagrant 社区提供了丰富...

Global site tag (gtag.js) - Google Analytics