Vagrant 部署python开发环境
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
- 创建新的文件Vagrantfile.pkg
Vagrant::Config.run do |config|
#Forward apache
config.vm.forward_port 80, 8080
end - 打包Project
#打包完成后,会在工程根目录下生成package.box
vagrant package --vagrantfile Vagrantfile.pkg - 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开发环境的更多相关文章
- Ubuntu 部署Python开发环境
		
一.开发环境包安装 sudo apt-get install git-core sudo apt-get install libxml2-dev sudo apt-get install libxsl ...
 - 使用Vagrant搭建本地python开发环境
		
使用Vagrant搭建本地python开发环境 关于vagrant:Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境,它使用Oracle的开源VirtualBox虚拟化系统也可以使 ...
 - ubuntu部署Java、Python开发环境
		
要部署Java开发环境首先就要安装JDK. 一.安装JDK8 1. 下载 jdk-8u172-linux-x64.tar.gz 到 /usr/java8/ 目录下: 2. tar -zxvf jd ...
 - Eclipse for Python开发环境部署
		
Eclipse for Python开发环境部署 工欲善其事,必先利其器. 对开发人员来说,顺手的开发工具必定事半功倍.自学编程的小白不知道该选择那个开发工具,Eclipse作为一个功能强大且开源免费 ...
 - 一.1搭建跨平台的统一python开发环境
		
搭建跨平台的统一python开发环境: 使用开发环境的好处: 可不用在服务器上直接修改源代码---写的代码首先得入版本库(放git或giitlab中),在本地写代码提交到git中.然后在服务器上git ...
 - ubuntu上用eclipse搭建java、python开发环境
		
上一篇文章讲到如何在windwos上用eclipse搭建java.python开发环境,这一讲将关注如何在ubuntu上实现搭建,本人使用虚拟机安装的ubuntu系统,系统版本为:14.04 lts ...
 - windows 下用eclipse搭建java、python开发环境
		
本人只针对小白!本文只针对小白!本文只针对小白! 最近闲来无事,加上之前虽没有做过eclipse上java.python的开发工作,但一直想尝试一下.于是边查找资料边试验,花了一天时间在自己的机器上用 ...
 - [原]打造Python开发环境之初篇
		
古语有云: 工欲善其事,必先利其器 拥有自己的一套得心应手的Python开发环境,开发起来,简直如丝般顺滑.以我工作中使用到的Python开发环境(主要是Web应用),先做个总体介绍 Python环境 ...
 - CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇
		
CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境 CentOS7 + Python3 + D ...
 
随机推荐
- OpenXmlSdk导出Excel
			
感觉OpenXmlSdk的语法真的不是很友好.研究了半天,只实现了简单的导出功能.对于单元格样式的设置暂时还是搞明白,网上的资料真的很少,官方文档是英文的.中文的文章大都是用工具(Open XML S ...
 - 通同select便签实现简单的二级联动
			
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
 - Ext4 简单的treepanel
			
转载:http://blog.csdn.net/zyujie/article/details/8208499 最近在学习Ext4,记录一些有关Ext4实现控件的方法: Ext4的treePanel和之 ...
 - Python django admin 替换表单控件
			
测试版本: Python 2.7 Django 1.6.2 models.py from django.db import models class Article(models.Model): ti ...
 - C# 中使用 OpenSSL 的公钥/私钥进行加密和解密
			
在C#中进行RSA解密,需要用RSACryptoServiceProvider,但是不支持OpenSSL格式的公钥或者私钥. X509 公钥 -----BEGIN PUBLIC KEY----- MI ...
 - unset() isset() empty difined()操作变量详解
			
isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在则返 ...
 - 让织梦CMS的后台编辑器支持优酷视频
			
最近做了一些视频教程传到优酷网站上,但我想引入这些视频教程到我的网站,在发表时我发现织梦CMS自带的编辑器又不直接支持优酷等视频网站的引用.所以为了方便教程的发布,特意在网站搜索到本篇教程,详细讲解如 ...
 - jquery easy ui 学习 (7) TreeGrid Actions
			
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
 - Python 函数传递list,传递dict   以及*args和**kargs
			
函数之间传递list: def show(ll): for i in ll: print(i) show(['chen','hang','wang','yadan']) #============== ...
 - Android中AsyncTask异步
			
今天我们学习了 AsyncTack, 这是一个异步任务. 那么这个异步任务可以干什么呢? 因为只有UI线程,即主线程可以对控件进行更新操作.好处是保证UI稳定性,避免多线程对UI同时操作. 同时要把耗 ...