在Mac OS X上安装VirtualBox 和 Vagrant搭建Java web本地开发环境

来源:互联网 发布:ipad淘宝hd旧版本 编辑:程序博客网 时间:2024/04/30 10:09

by Blyde Liu

本文参考了多个优秀博客的文章,若文章引用需要授权,请联系guowei.liu@foxmail.com,我会第一时间与您沟通,对您造成的不便,敬请原谅。

最近刚入职,还在搭建Java web本地开发环境,发现在Mac上搭有很多文件权限问题,也考虑到和生产环境的差异,也是因为自己有那么点“系统洁癖”,所以就自己动手搭Vagrant环境了。

本地开发环境需求

  • Centos 7
  • JDK 7
  • Maven 3
  • Tomcat 7

创建虚拟机操作系统

  • 下载安装 稳定版VirtualBox
    下载地址:https://www.virtualbox.org/wiki/Downloads
  • 安装 Vagrant
    下载地址:https://www.vagrantup.com/ 根据提示一步步安装。
  • 下载系统镜像
    在init vagrant时可以直接添加系统镜像,考虑到国内的网速情况,建议先使用下载工具下载好系统镜像。
    你可以根据你服务器的环境来选择。 http://www.vagrantbox.es/
    本文使用的系统镜像是:CentOS 7.0 x64 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box
  • 添加系统镜像到 Vagrant
    假设我们下载的镜像存放路径是 ~/Download/centos-7.0-x86_64.box,在终端里输入:
    vagrant box add centos7 ~/Download/centos-7.0-x86_64.box
    centos7是我给这个box取的名字,你完全可以根据你的习惯来命名。
  • 初始化环境
    创建一个开发目录(比如:~/vagrant),你也可以使用已有的目录,切换到开发目录里,用 centos7 镜像初始化当前目录的环境:
    ~$ cd ~/vagrant
    ~/vagrant$ vagrant init centos7
    初始化完成之后,当前目录生成Vagrantfile,这是vagrant的配置文件,可以修改这个配置文件对操作系统进行个性化的定制,比如网络连接方式,共享的目录等。文件中的配置项都有详细的注释。
  • 配置vagrant信息
    config.vm.network "private_network", ip: "192.168.33.10"
    设置虚拟机系统的私有网络地址,vagrant的三种网络连接方式差异请自行谷歌搜索
    config.vm.synced_folder ".", "/workspace"
    设置共享文件,把本文件所在文件夹路径,即~/vagrant 映射成虚拟机操作系统中的/workspace路径。你完全可以根据你的习惯设置共享目录。
  • 启动vagrant
    ~/vagrant$ vagrant up
    此步骤一定要在原目录(本文是~/vagrant)下进行,上命令触发vagrant根据Vagrantfile初始化操作系统
  • 通过SSH连接操作系统
    ~/vagrant$ vagrant ssh

    Last login: Sat Jul 16 20:41:27 2016 from 10.0.2.2
    Welcome to your Vagrant-built virtual machine.

  • 恭喜你

安装开发工具

  • JDK 7
    先自行谷歌搜索安装配置JDK7,后期会考虑增加此教程。
  • Maven 3
    请参考http://blog.csdn.net/u010183402/article/details/51916926,虽然系统不同,但步骤相同。
  • Tomcat 7
    我在启动tomcat时中发现很多诸如文件读写执行权限的问题和centos7防火墙的设置问题,如果大家遇到此类问题请先自行谷歌搜索,后期会考虑增加此教程。

测试开发环境

  1. 打开Tomcat目录并启动Tomcat
    tomcat$ sh bin/startup.sh

    Using CATALINA_BASE: /usr/local/apache-tomcat
    Using CATALINA_HOME: /usr/local/apache-tomcat
    Using CATALINA_TMPDIR: /usr/local/apache-tomcat/temp
    Using JRE_HOME: /usr/local/java/jdk1.7.0_79/jre
    Using CLASSPATH: /usr/local/apache-tomcat/bin/bootstrap.jar:/usr/local/apache-tomcat/bin/tomcat-juli.jar
    Tomcat started.

  2. 测试tomcat启动情况
    tomcat$ curl http://localhost:8080

    <!DOCTYPE html><html lang="en"><head>    <title>Apache Tomcat/7.0.70</title>    <link href="favicon.ico" rel="icon" type="image/x-icon" />    <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />    <link href="tomcat.css" rel="stylesheet" type="text/css" /></head><body>···
  3. 关闭centos 7 的防火墙(简单粗暴的方法)
    $ sudo systemctl stop firewalld.service
  4. 在Mac浏览器中访问tomcat欢迎页面
    输入http://[your_centos7_ip]:8080,上文设置的私有网络地址是192.168.33.10,即访问url应该是:http://192.168.33.10:8080
  5. 恭喜你
    当你在Mac的浏览器中能正常访问tomcat欢迎页面,恭喜你本地开发环境配置成功啦!
  6. 新的挑战
    下回将介绍如何使用github+maven+tomcat 创建并部署一个简单的webapp项目。

打包分发

当配置好开发环境后,可以打包环境,然后拿到任何地方都能用。
~/vagrant$ vagrant package
打包完成后会在当前目录生成一个 package.box 的文件,将这个文件传给其他用户,其他用户只要添加这个 box 并用其初始化自己的开发目录就能得到一个一模一样的开发环境了。

1 0
原创粉丝点击