vagrant搭建centos环境

vagrant搭建centos环境

前言

macos作为开发环境已经相当方便,有很丰富的工具,如homebrew类似于ubuntu的apt-get和centos的yum,很方便地安装各种开发工具。但终究与线上生产环境不同,即便安装的是相同的软件,安装目录,管理方式都有所不同。当项目很复杂,或者有多个项目时,很容易将mac本地环境弄得乱七八糟。

为了能与线上生产环境一致,尝试过用docker, 并没有想象中的方便,可能是我对dokcer的了解太少。且觉得docker的门槛较高。

衡量各种方案后,最终选择用vagrant与virtualBox搭建一个完整的linux系统,这样能够与线上生产环境一致,也能很方便地进行移植。

环境准备

我选择的是 centos7.2 的镜像

安装

新建目录centos,作为vagrant的根目录

  • 导入下载的镜像
?  centos  vagrant box add centos ~/Downloads/vagrant-centos-7.2.box
# 将box命名为centos
  • 初始化
?  centos  vagrant init

会自动生成Vagrantfile配置文件

修改配置文件

设置box名称

box名称须与上面命令指定的box名一致

config.vm.box = "centos"

端口转发

config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"

macos不允许将本机的80端口转发, 解决方案参照: mac设置端口转发

开启nfs

默认的virtualBox共享文件速度太慢,需要启用nfs默认

Vagrantfile 设置:

config.vm.network "private_network", type: "dhcp"
config.vm.synced_folder "/Users/airmb/Downloads/work", "/home/wwwroot/work", :nfs => true, :mount_options => ['actimeo=2']

设置内存

内存大小根据物理机内存设置,我的mac物理机是8G内存,分配了3G给虚拟机

如果要安装mysql5.7,内存不能低于2G

config.vm.provider "virtualbox" do |vb|
  vb.memory = "3072"
end

启动与连接

连接vagrant虚拟机有两种方式:

  • 账号密码,两者均为 vagrant
  • ssh key, 可通过 ssh-config 查看私钥的路径

查看ssh-config

可以用vagrant默认生成的key,也可以将自己的私钥替换到 IdentityFile 指定的文件,连接虚拟机后再将公钥放到虚拟机中的 ~/.ssh/authorized_keys

启动虚拟机

?  centos  vagrant up

连接进入虚拟机

?  centos  vagrant ssh

默认的共享挂载目录:/home/vagrant

常用vagrant命令

  • vagrant up 启动
  • vagrant ssh 进入虚拟机
  • vagrant halt 关机
  • vagrant reload 重启
  • 导出与导入
?  centos  vagrant package --base centos_default_1533259579120_24934 --out centos7.2.box # 导出box
?  centos  vagrant box add centos ./centos7.2.box # 导入box

清空重新导入镜像

当需要重新导入镜像时,为避免出现各种奇奇怪怪的问题,清空以下内容:

# 将现有的box删除
?  centos  vagrant box list
centos (virtualbox, 0)
?  centos  vagrant box remove centos

?  centos  vagrant global-status --prune

?  centos  rm -rf .vagrant

?  centos  rm -rf Vagrantfile

?  centos  cd ~/VirtualBox\ VMs
?  VirtualBox VMs  ls
centos_default_1534145188471_82398
?  VirtualBox VMs  rm -rf ./*

配置文件 Vagrantfile

端口转发

config.vm.network "forwarded_port", guest: 80, host: 8080

内存分配

config.vm.provider "virtualbox" do |vb|
#   # Display the VirtualBox GUI when booting the machine
#   vb.gui = true
#
#   # Customize the amount of memory on the VM:
    vb.memory = "3072"
end

目录挂载

config.vm.synced_folder "~/code", "/home/wwwroot/code", :owner=> 'vagrant', :group=>'www', :mount_options => ['dmode=775', 'fmode=775']

填坑记录

nginx不同步本地修改的静态文件

同一个文件,本地修改后,centos虚拟机能看到同步的修改,但怎么刷新都看不到变化,只有在centos里面再修改文件才有效。而动态文件,如php文件修改后实时能看到变化

解决:

将nginx.conf的配置修改:

sendfile off;

apache也有相同问题,修改配置:

EnableSendfile off

原文地址:https://www.cnblogs.com/wzz2500/p/11434429.html

时间: 2024-07-29 16:41:43

vagrant搭建centos环境的相关文章

vagrant搭建开发环境

vagrant + virtualbox 在Windows  &&  MAC系统下搭建开发环境 1. 安装 VirtualBox 下载地址:https://www.virtualbox.org/wiki/Downloads 2. 安装 Vagrant 下载地址:http://downloads.vagrantup.com 3. 创建工作目录,复制vagrantfile和srv/目录到工作目录下,(srv目录下包括nginx配置文件,          php配置文件mongodb配置文件和

用vagrant搭建一个自己的lnmp环境(一)

用vagrant搭建自己的lnmp环境 1.工具: a.vagrant b.virtual box c.linux服务器box(此处我使用centos 7.0) 2.安装完vagrant和virtualbox后,打开命令行,运行以下命运,添加box: vagrant box add BOXNAME box路径(上面下载的服务器box路径) 3.然后随意创建一个文件夹,如dev,进入dev文件夹,输入以下命令vagrant init BOXNAME 4.dev下回生成一个配置文件,根据自己需求修改

vagrant系列教程(三):vagrant搭建的php7环境(转)

阅读目录 启动nginx并设置为开机启动 安装iptables 编辑防火墙配置文件 配置nginx可以访问php 测试访问 MariaDB的安全配置 让外网可以进行链接 全局安装composer 原文:http://blog.csdn.net/hel12he/article/details/51107236 前面已经把vagrant的基础知识已经基本过了一遍 了,相信只要按着教程来,你已经搭建好了自己的基础环境.接下来说一说如何搭建php7的开发环境. 申明一下,这里使用的box,就是前面演示的

vagrant系列教程(三):vagrant搭建的php7环境

前面已经把vagrant的基础知识已经基本过了一遍 了,相信只要按着教程来,你已经搭建好了自己的基础环境.接下来说一说如何搭建php7的开发环境. 申明一下,这里使用的box,就是前面演示的centos7 地址奉上: https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box 安装nginx 首先需要跟新一些ngin的相关源. $ rpm -Uvh http:

WIN10 vagrant和virtualbox虚拟机和一键搭建lnmp环境配置thinkphp虚拟主机

版本:win10系统 virtualbox:5.1.26 vagrant :1.9.7 centos 7.0 xshell/git 首先下载好对应版本的软件 配置vagrant和virtualbox 一.把虚拟机加载到box容器中 vagrant box add CentOs7.0 D:\soft\Vagrantfile\package.box CentOs7.0 是给虚拟机起的名字 D:\soft\Vagrantfile\package.box 是box路径也就是centos7.0 二.找一个

CentOS搭建LAMP环境

最近准备安装roundcube,需要先搭建一个 LAMP 运行环境,从网上搜索了一下,有不少资料.自己也按部就班安装了一遍,把过程整理了下来.     LAMP 是Linux, Apache, MySQL, PHP 的首字母缩写,也就是在一台 CentOS5.3 服务器上安装带有PHP5 和 Mysql 支持 Apache 的网站服务器.         1. 假设你已经有一台安装了 Linux 系统的服务器,系统可以使 CentOS5.3 ,也可以是 Ubuntu 9.04 .这次是用 Cen

CentOS下搭建LAMP环境详解

前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS 6.5,32位. CentOS安装 我选取了32位的CentOS 6.5这个Linux系统,安装过程也很简单,不再过多叙述,只稍微介绍一下我的分区情况: 分区名  大小 /boot  200MB /swap  2GB(不大于物理分区即可) /  20GB /home 剩余空间 Apache编译安装

Vagrant搭建Ubuntu-JavaEE开发环境——Tomcat+JDK+MySql+dubbo+测试

Vagrant搭建(Tomcat8+JDK7+MySQL5+dubbo) JDK 1.下载jdk 2.解压JDK tar -xzvf jdk-7u79-linux-x64.tar.gz 3.设置环境变量 vim /home/vagrant/.bashrc 这里因为我用的vagrant所以提示: The program 'vim' can be found in the following packages: * vim * vim-gnome * vim-tiny * vim-athena *

Centos搭建 Docker 环境

搭建 Docker 环境 安装与配置 Docker 安装 Docker Docker 软件包已经包括在默认的 CentOS-Extras 软件源里.因此想要安装 docker,只需要运行下面的 yum 命令: yum install docker-io -y 直接yum安装,安装成功后查看版本 docker -v 启动docker service docker start 设置开机启动 chkconfig docker on 配置 Docker 因为国内访问 Docker Hub 较慢, 可以使