開發環境搭建(vagrant強烈推薦)

今天的話題是開發環境搭建,我換過好幾臺電腦,也最害怕換電腦。因為電腦上有各種開發環境各種的開發工具各種插件一旦換電腦都要重新安裝(這可是一件很麻煩的事情)特別是開發環境,以前我也是直接把開發環境安裝到自己機器上。直到我遇到了vagrant我徹底解脫了,相見恨晚啊 很多人都是直接在自己機器上搭建程序運行環境,所以需要安裝不同版本的jdk apache tomcat nginx...如果想學其他語言又要安裝其他語言的開發環境比如我最近在玩ruby on rails,要安裝ruby語言和rails框架,rvm或者rbenv。沒事的也擺弄擺弄nodejs又要安裝nodejs,nvm等等各種各樣的程序,系統上的東西越來越多,總是讓人很不放心。並且,我使用的是mac,服務器上使用的是Linux啊,兩個環境不一樣,也可能出現各種麻煩的事情

今天的話題是開發環境搭建,我換過好幾臺電腦,也最害怕換電腦。因為電腦上有各種開發環境各種的開發工具各種插件一旦換電腦都要重新安裝(這可是一件很麻煩的事情)特別是開發環境,以前我也是直接把開發環境安裝到自己機器上。直到我遇到了vagrant我徹底解脫了,相見恨晚啊 很多人都是直接在自己機器上搭建程序運行環境,所以需要安裝不同版本的jdk apache tomcat nginx...如果想學其他語言又要安裝其他語言的開發環境比如我最近在玩ruby on rails,要安裝ruby語言和rails框架,rvm或者rbenv。沒事的也擺弄擺弄nodejs又要安裝nodejs,nvm等等各種各樣的程序,系統上的東西越來越多,總是讓人很不放心。並且,我使用的是mac,服務器上使用的是Linux啊,兩個環境不一樣,也可能出現各種麻煩的事情

開發環境搭建(vagrant強烈推薦)

  • 我應該很早就使用Linux作為開發平臺了,搭建一個開發環境一般是這樣的

首先是系統安裝

以前安裝一套新系統要去 Ubuntu 官網下載一個鏡像文件,然後新建一個 vitualbox 虛擬機(或者vmware),然後需要有人值守的去完成整個系統安裝過程,很是繁瑣。但用了 Vagrant 以後這個過程變成無人值守的了,意思就是一個命令搞定一切。過程是這樣 首先,保證我的系統上有兩個基礎軟件,一個是 vagrant 一個就是 virtualbox ,安裝過程就是雙擊然後下一步下一步而已,沒啥好說的。裝好之後,到命令行中就有 vagrant 這個命令了。那麼這個時候是不是就要去下載系統光盤了呢?

NO,有一個網站叫做 https://vagrantcloud.com/,到上面搜一下 ubuntu,排名第一的這個

ubuntu/trusty64

就是 ubuntu 公司提供的 ubuntu 14.04 的64位系統鏡像文件 來到命令行執行下面命令 cd ~ mkdir VirtualBox VMs cd VirtualBox VMs mkdir moonlight //這裡是項目名稱你的可以不同,不同的項目也不一樣。vagrant的目標是為每一個項目創建一個虛擬機 cd moonlight

開發環境搭建(vagrant強烈推薦)

  • 這樣moonlight文件夾下就多了一個Vagrantfile文件所有這個虛擬機的設置都在這裡了(一會兒再配置,先把虛擬機起起來再說)

    然後執行

    vagrant up就會自動到vagrant cloud 網站上下載box進行安裝了。如果是第一次下載,可以需要等一二十分鐘,所以一般我是早上起來幹這個活,網速比較快。(我這裡的網速實在無語)但是,如果之前在另外一個項目中執行過這個操作了,那麼也就是這個box已經存在我本地機器上了。這時候,vagrant導入這個box進來,只需要幾秒鐘就可以在創建出一個新的virtualbox 虛擬系統了,vagrant 的基本思路是為每一個項目創建自己的一個虛擬機。而且這個系統和之前的系統是完全隔離的。如果我過一段時間不需要這臺虛擬機了,執行

    vagrant destroy

    就都清理乾淨了,而且其他同樣使用這個 box 虛擬機也不會受到影響。

config.vm.provider "virtualbox" do |v|

v.memory = 1024

既然虛擬機起起來了那就該配置了,那我就修改一下虛擬機的內存和ip把,打開Vagrantfile文件添加

#設置虛擬機內存(1G)

end

#設置虛擬機IP

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

然後再打開本機的/etc/hosts文件添加

192.168.1.100 moonlight.dev

以後可以瀏覽器中用 moonlight.dev來訪問虛擬機裡面的網站了

共享文件夾:默認情況下,Vagrantfile所在的這個文件夾會自動掛載到虛擬機的/vagrant

目錄下這個意味著我們可以使用我們mac上的sublimeText vim git 搜狗輸入法 這些工具了,

Mac依舊是我寫代碼的環境。ubuntu虛擬機是項目的安裝運行環境。這個分工是太合理了!

最後我來使用vagrant搭建一個PHP開發環境

上面我創建一個moonlight的文件夾進入這個文件夾(這個文件夾就是我們的項目名,它所需要的

環境都在這裡面)先把虛擬機起起來

vagrant up

系統起起來了那麼我們就要登錄這個系統,使用vagrant這個用戶登錄系統(這個用戶挺好,執行sudo是不需要輸入密碼的,開發中實際使用挺好用的)命令

vagrant ssh

開發環境搭建(vagrant強烈推薦)

執行下面命令安裝apache2 mysql php等

#mysql密碼是111111

sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password password 111111'

sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password 111111'

sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev

#apache2 php5-mysql

sudo apt-get install apache2 php5-mysql libapache2-mod-php5

#others module

sudo apt-get install php5-gd php5-curl php5-xdebug

安裝完成

然後再去設置一下apache2

cd /etc/apache2/sites-avaiable

sudo vim moonlight.conf

填入下面內容

<VirtualHost *:80>

ServerName moonlight.dev

DocumentRoot /vagrant/

</VirtualHost>

在 sites-enable 下面創建符號鏈接並且加載新配置

sudo a2ensite moonlight.conf

cd ..

sudo rm sites-enabled/000-default.conf

sudo service apache2 reload

sudo rm -rf /var/www

sudo ln -fs /vagrant /var/www

最後再把/etc/apache2/sites-available/moonlight.conf更改一下

DocumentRoot /vagrant/

DocumentRoot /var/www

再次訪問一切正常

vagrant強烈推薦!

相關推薦

推薦中...