Vagrant使用教程

Vagrant使用教程

注意

目标

  • 成果是打包一个box镜像
  • 这个box镜像需要运行 LAMP(Linux + Apache + Mysql + PHP ) 和 LNMP( Linux + Nginx + Mysql + PHP)
  • 配置好3个比较流行的PHP框架运行环境
    • Yii2
    • Laravel5
    • ThinkPHP5

基础环境

启动虚拟机

对虚拟机优化

  • 替换源

    • sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份
    • sudo vim /etc/apt/sources.list #修改源
    • sudo apt-get update #更新列表
  • L(A|N)MP

    • Ngnix

      • sudo apt-get install nginx

      • nginx -v

        nginx version: nginx/1.4.6 (Ubuntu)

      • 测试Nginx

        
            HTTP/1.1 200 OK
            Server: nginx/1.4.6 (Ubuntu)
            Date: Sat, 07 Jan 2017 07:49:41 GMT
            Content-Type: text/html
            Content-Length: 612
            Last-Modified: Tue, 04 Mar 2014 11:46:45 GMT
            Connection: keep-alive
            ETag: "5315bd25-264"
            Accept-Ranges: bytes
        
    • Apache

      • sudo apt-get install apache2

      • apache2 -v

        Server version: Apache/2.4.7 (Ubuntu) Server built: Jul 15 2016 15:34:04

      • 测试访问,此时不能访问,因为80端口被nginx占用了,可以先把nginx停掉

        
             HTTP/1.1 200 OK
             Date: Sat, 07 Jan 2017 08:15:26 GMT
             Server: Apache/2.4.7 (Ubuntu)
             Last-Modified: Sat, 07 Jan 2017 07:17:45 GMT
             ETag: "2cf6-5457bee51dd0d"
             Accept-Ranges: bytes
             Content-Length: 11510
             Vary: Accept-Encoding
             Content-Type: text/html`
        
      • 更改端口,将端口设置为8888

        
             HTTP/1.1 200 OK
             Date: Sat, 07 Jan 2017 08:24:15 GMT
             Server: Apache/2.4.7 (Ubuntu)
             Last-Modified: Sat, 07 Jan 2017 07:17:45 GMT
             ETag: "2cf6-5457bee51dd0d"
             Accept-Ranges: bytes
             Content-Length: 11510
             Vary: Accept-Encoding
             Content-Type: text/html`
        
    • Mysql

      • sudo apt-get install mysql-server #服务器端
        • 安装期间会提示输入为mysql设置root密码,我这边不操作,直接enter 不设置密码
      • sudo apt-get install mysql-client #客户端
        • mysql -uroot -p #测试连接库,上面安装服务端没有设置密码,这里直接enter进入
    • php

      • 安装php

        • sudo apt-get install php5-cli
          • php -v
          
                PHP 5.5.9-1ubuntu4.20 (cli) (built: Oct  3 2016 13:00:37)
                Copyright (c) 1997-2014 The PHP Group
                Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
                with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
          
      • PHP扩展

        • php5-mcrypt
        • php5-mysql
        • php5-gd
      • 支持apache2的php模块

        • sudo apt-get install libapache2-mod-php5
        • 开启rewrite功能
          • sudo a2enmod rewrite
      • 支持nginx fastcgi

        • sudo apt-get install php5-cgi php5-fpm
        • 修改成9000端口 ,默认sock模式
          • cd /etc/php5/fpm/pool.d
          • sudo vim www.conf # search listen = 127.0.0.1:9000
          • sudo /etc/init.d/php5-fpm restart
  • 端口转发 为了验证nginx是否按照成功~~

Vagrant高级配置

框架配置

优化

  • 虚拟机名称
    • vb.name = "ubuntu_mooc"
  • 虚拟机主机名
    • config.vm.hostname = "mooc"
  • 配置虚拟机内存和CPU
    • vb.memory = "1024"
    • vb.cpus = 2

打包命令

  • vagrant package --output xxx.box

windows下vagrant的注意事项(热心同学整理的)

  • QQ:1952774133(仅供学习交流) 前提看过编程浪子的or其他的vagrant教程哦.

  • 笔者最近在使用vagrant时遇到了一些问题,当然也解决了,故把一些要注意的事情点出来,.本人使用的是windows 64位操作系统,故以此环境展开.

  • 必备工具:

    • vagrant(最新版,截止2017/3/18)
    • virtual box(用5.1.14,截止2017/3/18的virtualbox版本有Bug,无法挂载文件)
    • powershell(最好是大于2.0的版本)
    • putty(windows下没有自带ssh工具,所以推荐这个小巧)
    • box文件(ubuntu14.04版本,下载链接:https://pan.baidu.com/s/1kU8fUlD)
  • 常见问题:

支持一下呗

posted @ 2017-09-07 15:40  阿拉善的樵夫  阅读(364)  评论(0编辑  收藏  举报