这是自己在51cto的第一篇,主要是作为一名web开发者来讲解自己如何快速搭建linux开发环境的方式!

本人安装的lnmp环境的相关文件,可以在本人提供的百度云盘资源进行下载

链接: http://pan.baidu.com/s/1dD6QZ1B 密码: zcs8

一、概述

  作为一名web开发工程师,本地环境搭建是一项基本技能,相对而言,在window下面进行此类环境的搭建有许多现成的继承开发包,可实现快速的环境搭建,如:wampServer,、xampp、appserv等。但是我们运行的线上版本通常是采用linux操作系统的服务器,因此以linux为本地环境有利于线上代码部署与调试。


  接下来,我将以linux为基础,搭建lnmp网站服务器架构!LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。

  Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、 centos、ubuntu、fedora、gentoo等。

  Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。

  Mysql是一个小型关系型数据库系统。

  PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。


  在接下来的章节中,我们将会涉及到虚拟机下的linux(centos)操作系统安装,采用集成开发包lnmp实现nginx+mysql+php的安装和php升级、nginx+php安装与配置、mysql安装与配置、nginx虚拟主机配置、php扩展memcached、redis的安装等。


二、本节目标

  这一节的目标是实现在自己的电脑上采取虚拟机的方式安装上linux(centos)操作系统。这里将给大家介绍一个神器组合:vagrant+virtualbox,可以轻松的跨平台部署、实现文件共享。


三、使用工具

  1. 系统环境:

    window7

  2. 虚拟机软件:

    Virtualbox => https://www.virtualbox.org/(下载地址)

    Vagrant => http://www.vagrantup.com/(下载地址)

  3. linux系统文件:

    centos65-x86_64-20140116.box =>  http://www.vagrantbox.es/(下载地址,有许多系统文件,选择适合自己的)

  也可以使用本人提供的百度云盘资源进行下载,具体见文章开头

四、操作步骤

1、下载安装

    根据三中提供地址分别下载好virtualbox、vagrant安装包和centos系统文件。

    windows下面分别安装好virtualbox、vagrant软件,windows下面的安装很简单,这里不多做介绍!

    操作完成,重启系统完成安装!

  2、创建工作目录

    选择工作目录,将centos65-x86_64-20140116.box系统文件拷贝到文件目录下

    例如:E:\tool\centos

  3、设置环境

    CMD=>进入DOS命令行界面,切换目录E:\tool\centos,命令操作步骤:

    1). E:\tool\centos>vagrant box add base centos65-x86_64-20140116.box

    上面的命令含义为:vagrant 是vagrant的命令,box为参数,add为添加一个box环境,dev为你要创建的box环境名称,centos65-x86_64-20140116.box 为你下载的box环境镜像,这里可以是本地保存box的路径,也可以是可以下载box的网址,如果是网址的话,Vagrant会自动启动下载。

    2). E:\tool\centos>vagrant init

    初始化,生成对应的系统环境的配置文件Vagrantfile。这里介绍一些主要的配置项:

    ① 网络配置

    a、端口映射,将虚拟机中的端口映射到宿主机对应的端口使用,在Vagrantfile中配置:

    config.vm.network :forwarded_port, guest: 80, host: 8080guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。

    b、仅本地可访问虚拟机,使用private_network,虚拟机设置IP ,在Vagrantfile中配置:

    config.vm.network :private_network, ip: "192.168.33.10"

    虚拟机的IP 192.168.33.10,多台虚拟机的话需要互相访问的话,应设置在相同网段,如192.168.33.11。

    c、将虚拟机作为当前局域网的一台计算机,由局域网进行DHCP或手动分配,在Vagrantfile中配置:

    config.vm.network :public_network 或 config.vm.network :public_network, ip: "192.168.33.10"

    ② 目录映射:

    通过目录映射,开发工作可以完全在本地完成,虚拟机仅在后台运行,将本地的目录映射到虚拟机的对应目录,而不需要ftp等复

杂的工具进行上传工作。默认情况下,当前的工作目录,会被映射到虚拟机的 /vagrant 目录,当前目录下的文件可以直接在

/vagrant 下进行访问。

   当然也可以在配置文件手动添加工作目录映射。

    config.vm.synced_folder "../../www/", "/home/wwwroot/vagrant"

    ../../www/是本地目录,/home/wwwroot/vagrant/虚拟机中的目录,这个目录在接下来安装nginx后再创建。

    ③ 启动脚本

    关于设置启动脚本,这里就不多做介绍,可以看一下这一行

    a、设置启动命令

    config.vm.provision "shell", inline <<-SHELL
      echo "Welcome to Centos"
    SHELL

    b、设置启动脚本

    config.vm.provision :shell, :path => "boot.sh"

    综合以上,主要的配置完成


    3). E:\tool\centos>vagrant up

    执行以上命令启动虚拟机。

    除去启动虚拟机,操作虚拟机命令还有以下:

    vagrant halt (关闭虚拟机——对应就是关机)

    vagrant suspend (暂停虚拟机——只是暂停,虚拟机内存等信息将以状态文件的方式保存在本地,可以执行恢复操作后继续使用)
    vagrant resume (恢复虚拟机 —— 与前面的暂停相对应)
    vagrant destroy (删除虚拟机,删除后在当前虚拟机所做进行的除开Vagrantfile中的配置都不会保留)


五、问题解决

    出现问题,无法正常启动,开启virtualbox图形界面,查看启动信息。

    在Vagrantfile中配置:

    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 = "1024"
    end


    问题一:启动提示VT-x/AMD-V 硬件加速在您的系统中不可用。您的 64-位虚拟机将无法检测到 64-位处理器,从而无法启动。

    解决方式:重新启动电脑,进入bios=>Securit=>Virtualization=>Enabled启动电脑支持虚拟化技术!


    综合以上步骤,可以实现virtualbox+vagrant+centos系统安装工作!