Home IT Linux Windows Database Network Programming Server Mobile  
           
  Home \ Linux \ Windows7 system using Vagrant to build Linux virtualized development environment     - Linux suffered SYN flood attack setting (Linux)

- CentOS 7 - use cgroups limit process resource (Linux)

- Linux system font color change (Linux)

- Subquery Oracle study notes (Database)

- Ora-14450: attempt to access ah transactional temptable already in use (Database)

- DRBD-based installation and configuration of CentOS 6.5 (Server)

- Zabbix monitoring disk IO status (Server)

- php for Linux the MySQL extension module installation and configuration (Database)

- MySQL multi-master multi-cluster deployment uses alive Galera (Database)

- To assign multiple IP addresses NIC on the CentOS 7 (Linux)

- Java Performance Tuning the proxy mode (Programming)

- Use Observium to monitor your network and servers (Server)

- Ubuntu amend resolv.conf restart failure problem (Linux)

- Linux OOM killer mechanism (Linux)

- VMware virtual machine Ubuntu install arm-linux-gcc cross-compiler environment (Linux)

- The Java ThreadLocal (Programming)

- File encryption and decryption of Linux security mechanisms (Linux)

- The virtual memory (Linux)

- Advanced Linux security settings (Linux)

- The lambda expression Java8 (constructor references) (Programming)

 
         
  Windows7 system using Vagrant to build Linux virtualized development environment
     
  Add Date : 2017-05-29      
         
       
         
  First, the benefits of using virtual development environment:

1, to ensure consistent development and production environments

Virtualized development environment is in fact a native virtual production environment, thanks to the low hardware, development machine has become very strong performance, 4-core, 32G memory computer does not need too much cost, very smooth running virtual machine .

Using a virtual development environment, developers can use the unit or your favorite handy OS (Windows, Linux, Mac OS, etc.), while the program is running in a virtual machine, migrate to the production environment is not compatible inexplicably avoided due to environmental error.

Virtualized development environment for team development environment OS, test and production environments in different situations is particularly suitable.

2, simplifying the deployment debugging environment

Slightly more complex system deployment debugging environment will be a troublesome thing, nginx, mysql, redis, mongodb etc. is estimated to be installed, there may be a lot of third-party development libraries ......, through virtualization technology simplify these tasks.

Virtual environments can be made by hand, and then distributed to developers, testers, they can easily in native debugging.

If the production environment is multi-platform (or multiple OS versions), you can create multiple virtual machines, simply click on it to switch to debug.

Second, begin to make a virtual development environment

1. Install VirtualBox

Oracle VirtualBox is open source virtualization system, the official website: https: //www.virtualbox.org/wiki/Downloads/ virtualbox download and install the latest version, skip the detailed process.

2. Use vagrant

vagrant is a tool developed in Ruby, VirtualBox encapsulates some of the commands, it simplifies the operation of the virtual machine virtualbox, adds support for automated deployment software puppet / chef of

You can easily create and deploy, distribute virtualized development environment through vagrant.

3, install vagrant

Methods First, download the installation package, the official website: http: //downloads.vagrantup.com/

Note that, try to download the latest program, because VirtualBox frequent upgrades, some interfaces will change after the upgrade, the old vagrant may not be available

Method two, vagrant is ruby development, ruby if you have installed, you can use gem install:

gem install vagrant
4, the establishment of environmental

1) the establishment of a development environment directory (can be skipped using existing directory)

Build a folder in Explorer
This is the E: \ workspace \ devel_env

2) Open a command line window, vagrant operations are command line

Enter E: \ workspace \ devel_env directory
Hold down the shift key and press the right mouse button in the blank space in the pop-up menu point "Open a command line window"

3) Add a box

box is a zip package that contains configuration information vagrant and VirtualBox virtual machine image file
The official provided a box, http: //files.vagrantup.com/lucid32.box

You can also choose to use a team system, http: //www.vagrantbox.es/
Or also own a row

My server CentOS, chose CentOS 6.3 x86_64 minimal

Add box command:

vagrant box add base distal box url box or a local file name
vagrant box add command to add
base box is the name or any title, base is the default name
example:

vagrant box add base http://files.vagrantup.com/lucid32.box
vagrant box add base https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box
vagrant box add base e: /vbox/CentOS-6.3-x86_64-minimal.box
vagrant box add "CentOS 6.3 x86_64 minimal" e: /vbox/CentOS-6.3-x86_64-minimal.box
Information about the installation process

[Vagrant] Downloading with Vagrant :: Downloaders :: File ...
[Vagrant] Copying box to temporary location ...
[Vagrant] Extracting box ...
[Vagrant] Verifying box ...
[Vagrant] Cleaning up downloaded box ...
Files are placed in C: \ Users \ username current .vagrant.d \ under boxes \ directory

Install the remote box in such a way vagrant box add, may be slow, you can use the box to download the tool at the local

4) Initialization

vagrant init
If you add the name of the box is not the base, to be specified in the initialization time, for example,

vagrant init "CentOS 6.3 x86_64 minimal"
Information initialization process

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.
  5) Modify Vagrantfile, add some projects require path and port mapping
  Within config.vm.forward_port virtual machine port, local port
  config.vm.forward_port 80, 80
  config.vm.forward_port 5000, 5000
    config.vm.share_folder "ID", "within a virtual machine path", "Local path"
  config.vm.share_folder "v-data", "/ data", "e: / workspace / data"
  config.vm.share_folder "v-work", "/ work", "e: / workspace / work"
My production environment / data, / work two directories, so do the mapping

5, start the virtual machine

vagrant up
Information boot process

[Default] Importing base box 'base' ...
[Default] The guest additions on this VM do not match the install version of
VirtualBox! This may cause things such as forwarded ports, shared
folders, and more to not work properly. If any of those things fail on
this machine, please update the guest additions and repackage the
box.

Guest Additions Version: 4.1.20
VirtualBox Version: 4.1.20
[Default] Matching MAC address for NAT networking ...
[Default] Clearing any previously set forwarded ports ...
[Default] You are trying to forward to privileged ports (ports < = 1024). Most
operating systems restrict this to only privileged process (typically
processes running as an administrative user). This is a warning in case
the port forwarding does not work. If any problems occur, please try a
port higher than 1024.
[Default] Forwarding ports ...
[Default] - 22 => 2222 (adapter 1)
[Default] - 80 => 80 (adapter 1)
[Default] - 5000 => 5000 (adapter 1)
[Default] Creating shared folders metadata ...
[Default] Clearing any previously set network interfaces ...
[Default] Booting VM ...
[Default] Waiting for VM to boot. This can take a few minutes.
[Default] VM booted and ready for use!
[Default] Mounting shared folders ...
[Default] - v-work: / work
[Default] - v-data: / data
[Default] - v-root: / vagrant

6, even with ssh into

Windows environment, it can not directly vagrant ssh, it will prompt:

E: \ workspace \ devel_env> vagrant ssh

`Vagrant ssh` is not available on the Windows platform. You are still able
to SSH into the virtual machine if you get a Windows SSH client (such as
. PuTTY) The authentication information is shown below:

Host: 127.0.0.1
Port: 2222
Username: vagrant
Private key: C: / Users / your account name /.vagrant.d/insecure_private_key
You must use a third-party ssh client

The ssh client GUI: putty, Xshell4
ssh client command line: Cygwin, MinGW

The command line:

ssh -i C: / Users / your account name /.vagrant.d/insecure_private_key -p2222 vagrant@127.0.0.1
Graphically: skip

7, check the system

df -h
Filesystem Size Used Avail Use% Mounted on
/ Dev / mapper / VolGroup-lv_root
                       13G 930M 11G 8% /
tmpfs 499M 0 499M 0% / dev / shm
/ Dev / sda1 485M 40M 420M 9% / boot
work 203G 132G 71G 65% / work
data 203G 132G 71G 65% / data
v-root 203G 132G 71G 65% / vagrant
/ Vagrant This directory is automatically mapped is mapped to the e: \ workspace \ devel_env

8, install some commonly used software and modules

By puppet, can also be installed manually

e this machine: \ workspace \ devel_env is mapped to the virtual machine / vagrant directory, so the package can be installed into the e: \ workspace \ devel_env, the virtual machine can be easily installed on

9, turn off the firewall

Virtual machine development environment is not necessary to enable the firewall

sudo service iptables stop
sudo chkconfig iptables off
10, vagrant common commands

vagrant halt
vagrant suspend
vagrant resume
vagrant destroy
vagrant reload
11, distribution

Configured environment can be packaged redistribute, eliminating duplication of other programs team

vagrant package --vagrantfile Vagrantfile
Production process information:

[Default] Attempting graceful shutdown of VM ...
[Default] Clearing any previously set forwarded ports ...
[Default] Creating temporary directory for export ...
[Default] Exporting VM ...
[Default] Compressing package to: E: /workspace/devel_env/package.box
[Default] Packaging additional file: Vagrantfile

Third, the use of the project

1, the project code and data into the map directory, so, whether native or within a virtual machine, the file is consistent;

Also facilitate the migration project deployment, the unit directly relevant directory packed, put on a production server environment

2, the use of port mapping, so that the machine can easily access

Port mapping also can be dynamically added in VirtualBox Manager

Found vagrantup1.2.2 configuration are subject to change:

  config.vm.network: forwarded_port, guest: 80, host: 80
  config.vm.network: forwarded_port, guest: 5000, host: 5000

  config.vm.synced_folder "e: / workspace / data", "/ data"
  config.vm.synced_folder "e: / workspace / work", "/ work"
     
         
       
         
  More:      
 
- Upgrading from Fedora 20 to 21 (Linux)
- Linux environment RabbitMQ installation and monitoring of plug-in installation (Linux)
- CentOS7 install MySQL 5.5 (Database)
- To install Xen in Ubuntu 12.04 (Linux)
- Oracle database with test data insertion speed (Database)
- Linux installation is larger than 2TB (UEFI interface) hard disk solution (Linux)
- How to use the Linux command compress JPEG images (Linux)
- Oracle bug Ora-04043 (Database)
- redis configuration in detail (English) (Database)
- Experts teach you safety precautions Linux Sniffer (Linux)
- Setting CentOS firewall open port (Linux)
- Linux system package manager -RPM (Linux)
- Applications in Objective-C runtime mechanism (Programming)
- CentOS static IP network configuration (Linux)
- Examples 14 grep command (Linux)
- Ubuntu users to install Xtreme Download Manager (Linux)
- The headers for the current running kernel were not found when VirtualBox installation enhancements (Linux)
- Java data structures - the single linked list LinkedList linear table (Programming)
- Compare Several MySQL environmental issues (Database)
- Install Java 8 on Ubuntu using PPA (Linux)
     
           
     
  CopyRight 2002-2016 newfreesoft.com, All Rights Reserved.