Vagrant简介

Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。

在Windows下,也可以方便地使用Linux环境开发程序

官方文档 http://docs.vagrantup.com/v2/getting-started/index.html

box https://vagrantcloud.com/discover/featured

准备工作

下载安装 VirtualBox https://www.virtualbox.org/wiki/Downloads

下载安装 Vagrant http://www.vagrantup.com/downloads.html

初始化Vagrant

#进入D盘
C:\Windows\system32>d:
#创建一个虚拟机的主目录,这个目录会与虚拟机/vagrant保持同步
mkdir vagrant_getting_started
cd vagrant_getting_started
#初始化,这里需要一个centos的box,在box分享网站上可以找到chef/centos-6.5
vagrant init chef/centos-6.5
#启动虚拟机
vagrant up
#登录虚拟机
vagrant ssh

配置开发环境

su root
Password:vagrant
#更改root密码,方便SecureCRT登录 默认虚拟机22端口映射宿主机2222端口
service sshd reload
passwd root
#后续的服务器安全加固措施,可以使用key登录
#下面的操作是让虚拟机更加稳定
sudo yum update -y
sudo yum install gcc
sudo install kernel-devel

常用命令

box管理

vagrant box list #列出可用box
vagrant box add chef/centos-6.5 #添加云box上的镜像
vagrant box add chef/centos-6.5 chef/centos-6.5.box #添加本地box

虚拟机管理命令

vagrant up #启动
vagrant reload #修改Vagrantfile快速使之快速生效
vagrant halt #关闭
vagrant suspend #暂停
vagrant resume #恢复
vagrant destroy #删除

打包box

  1. 创建新的文件Vagrantfile.pkg
    Vagrant::Config.run do |config|
    #Forward apache
    config.vm.forward_port 80, 8080
    end
  2. 打包Project
    #打包完成后,会在工程根目录下生成package.box
    vagrant package --vagrantfile Vagrantfile.pkg
  3. private_network模式需要清除一下配置
    rm -f /etc/udev/rule.d/70-persistent-net.rules
    

Vagrantfile 配置

Vagrantfile 工程根目录下,虚拟机的主要配置文件,提供网络配置,共享配置,环境初始化配置

(支持shell命令及脚本,chef,puppet,salt,Docker)

网络配置

#端口映射
config.vm.network :forwarded_port, guest: 80, host: 8080
#私有网络
config.vm.network :private_network, ip: "192.168.1.104"
#DHCP接入实体网络
config.vm.network :public_network
#网卡桥接接入实体网络
config.vm.network "public_network", bridge: 'en1: Wi-Fi (AirPort)'

共享

#目录共享
config.vm.synced_folder "E:/Blog", "/home/vagrant/Blog"

环境初始化provision

执行脚本
#!/usr/bin/env bash
yum update
yum install -y apache2
rm -rf /var/www
ln -fs /vagrant /var/www
Vagrant.configure("2") do |config|
config.vm.box = "chef/centos-6.5"
config.vm.provision :shell, path: "bootstrap.sh"
end

运行Docker

异常问题

共享加载失败

vagrant halt
vagrant plugin install vagrant-vbguest
vagrant up

Vagrant 部署python开发环境的更多相关文章

  1. Ubuntu 部署Python开发环境

    一.开发环境包安装 sudo apt-get install git-core sudo apt-get install libxml2-dev sudo apt-get install libxsl ...

  2. 使用Vagrant搭建本地python开发环境

    使用Vagrant搭建本地python开发环境 关于vagrant:Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境,它使用Oracle的开源VirtualBox虚拟化系统也可以使 ...

  3. ubuntu部署Java、Python开发环境

    要部署Java开发环境首先就要安装JDK. 一.安装JDK8 1. 下载 jdk-8u172-linux-x64.tar.gz 到 /usr/java8/ 目录下: 2. tar  -zxvf  jd ...

  4. Eclipse for Python开发环境部署

    Eclipse for Python开发环境部署 工欲善其事,必先利其器. 对开发人员来说,顺手的开发工具必定事半功倍.自学编程的小白不知道该选择那个开发工具,Eclipse作为一个功能强大且开源免费 ...

  5. 一.1搭建跨平台的统一python开发环境

    搭建跨平台的统一python开发环境: 使用开发环境的好处: 可不用在服务器上直接修改源代码---写的代码首先得入版本库(放git或giitlab中),在本地写代码提交到git中.然后在服务器上git ...

  6. ubuntu上用eclipse搭建java、python开发环境

    上一篇文章讲到如何在windwos上用eclipse搭建java.python开发环境,这一讲将关注如何在ubuntu上实现搭建,本人使用虚拟机安装的ubuntu系统,系统版本为:14.04 lts ...

  7. windows 下用eclipse搭建java、python开发环境

    本人只针对小白!本文只针对小白!本文只针对小白! 最近闲来无事,加上之前虽没有做过eclipse上java.python的开发工作,但一直想尝试一下.于是边查找资料边试验,花了一天时间在自己的机器上用 ...

  8. [原]打造Python开发环境之初篇

    古语有云: 工欲善其事,必先利其器 拥有自己的一套得心应手的Python开发环境,开发起来,简直如丝般顺滑.以我工作中使用到的Python开发环境(主要是Web应用),先做个总体介绍 Python环境 ...

  9. CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇

    CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境 CentOS7 + Python3 + D ...

随机推荐

  1. The following module was built either with optimizations enabled or witherout debug information

    出现这个问题的原因是这个程式有做版控,服务器上的版本比本机版本小 解决方式为:删除服务器上的版控或者本机版本改成与服务器一致即可

  2. JS遍历对象或者数组

    一.纯js实现 <script> var obj = {"player_id":"GS001","event_id":" ...

  3. windows7在局域网中无法映射驱动器问题解决

    昨天下班时闲的蛋疼,因电脑比较慢,因此在计算机的[系统配置中]的启动选项下对[启动项目]和[服务]做了误操作,导致在计算机重启之后声卡.显卡.网卡等许多服务禁用,更令人费解的是内网中断了连接,无法访问 ...

  4. (一)SAPI简述

    SAPI,软件中的语音技术包括两方面的内容,一个是语音识别(speech recognition) 和语音合成(speech synthesis).这两个技术都需要语音引擎的支持. 下面我们来了解下基 ...

  5. qt实现类似QQ伸缩窗口--鼠标事件应用

    原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://blog.csdn.net/hiwubihe/article/details/38678305,qq:1269122125. 上一章 ...

  6. vim插件和配置

    vim插件和配置 插件 pathogen 可以方便地管理vim插件 在没有pathogen的情况下,vim插件的文件全部都放在.vim目录,卸载插件很麻烦,pathogen可以将不同的插件放在一个单独 ...

  7. fragment中获取activity中的控件

  8. Uncaught SyntaxError: Unexpected end of input

    js报错  原因:输入的意外终止…… 页面代码写的不规范啊……其中的某条语句,没有正常结束…… 或者部分语句“‘’”双引号,单引号没有配对好,被转义了之类的……错误造成的 代码: <script ...

  9. [Python笔记]第十一篇:面向对象

    以上就是本节对于面向对象初级知识的介绍,总结如下: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用 对象,根据模板创建的实例(即 ...

  10. A题

    A - A Time Limit:1000MS     Memory Limit:131072KB     64bit IO Format:%I64d & %I64u   Descriptio ...