ecology9 后端开发环境搭建_利用Vagrant快速搭建开发环境
Docker大家應該都了解吧,一個非常方便的技術,可以讓我們隨時隨地部署應用。但是部署應用雖然方便了,開發環境的搭建還是那樣的,要自己安裝一大堆軟件。那么有沒有類似的工具可以方便我們呢?這就是本文要的介紹的Vagrant。
Vagrant是利用虛擬機技術的一個工具,可以方便我們搭建開發環境,并在虛擬機和本地之間方便的同步文件、開發和調試項目。如果你在Windows下開發程序,但是需要在Linux下調試,那么Vagrant很好用,它的自動同步文件功能可以無縫同步,感覺就好像直接在Linux下開發一樣。
安裝Vagrant
Vagrant是基于虛擬機的,所以需要首先安裝虛擬機軟件。Vagrant對于VirtualBox的支持是免費的, 所以我們安裝VirtualBox就好了。首先要到VirtualBox官網下載安裝VirtualBox。
VirtualBox下載地址:
https://www.vagrantup.com/downloads.html然后就可以下載安裝Vagrant了,它會自動添加環境變量,所以安裝完之后就可以直接運行vagrant命令了。下載地址(速度比較慢,最好有代理):
set http_proxy=127.0.0.1:1080set https_proxy=127.0.0.1:1080配置代理
Vagrant服務器在國外,下載安裝和使用的時候速度比較慢。所以最好有一個通暢的網絡代理,不然下載速度慢到窒息。
首先是終端代理。在終端使用命令啟動和運行Vagrant的時候,它會自動下載鏡像,所以首先要設置終端代理。如果你用的是cmd的話,就這樣設置代理。
vagrant plugin install vagrant-proxyconf如果你在Windows上使用Git Bash或者在Linux系統上運行的話,就這樣設置代理。
Vagrant.configure("2") do |config| # 配置代理選項 if Vagrant.has_plugin?("vagrant-proxyconf") config.proxy.http = "http://localhost:10800" config.proxy.https = "http://localhost:10800/" config.proxy.no_proxy = "localhost,127.0.0.1,.example.com" end # ... other stuff假如在虛擬機中需要代理來運行命令的時候,可以在Vagrant中安裝以下插件,它會自動設置虛擬機中的代理。
vagrant plugin install vagrant-proxyconf安裝完畢之后,需要在Vagrant配置文件中進行配置。
Vagrant.configure("2") do |config| # 配置代理選項 if Vagrant.has_plugin?("vagrant-proxyconf") config.proxy.http = "http://localhost:10800" config.proxy.https = "http://localhost:10800/" config.proxy.no_proxy = "localhost,127.0.0.1,.example.com" end # ... other stuff啟動項目
配置好了之后就可以創建項目了。首先創建一個空文件夾,然后在其中運行下面的命令來創建Vagrant項目。創建項目的時候需要指定虛擬機使用的系統,Vagrant Cloud上有大量官方鏡像和社區鏡像,幾乎可以滿足你的任何需求,CentOS、Arch、Fedora等鏡像也都支持,甚至也有一些打包了開發環境的定制鏡像。這里我用的鏡像是官方的Ubuntu 18.04.
vagrant init ubuntu/bionic64命令運行完畢會生成一個Vagrant配置文件,指定了Vagrant和底層虛擬機的各項設置。默認配置去掉注釋之后應該類似下面這樣。這個配置文件其實是一個Ruby文件,Vagrant那一行是Vagrant版本,不用動,我們如果要編輯配置文件的話,直接將選項寫到中間的部分就好了。
Vagrant.configure("2") do |config| config.vm.box = "ubuntu/bionic64"end然后就可以啟動Vagrant,相關命令如下,它們實際上對應的也是底層的虛擬機啟動和關閉命令。我們要啟動項目的話,自然使用第一條命令啟動虛擬機就可以了。
vagrant up # 啟動/創建虛擬機vagrant halt # 正常關閉虛擬機vagrant suspend # 掛起虛擬機,也就是睡眠功能vagrant destroy # 刪除虛擬機和其文件配置好代理的話,系統鏡像應該幾分鐘內就可以下載完成。然后Vagrant會自動幫我們創建好虛擬機并配置好各種功能。如果這時候打開VirtualBox軟件的話,也會看到生成的虛擬機系統。
進入虛擬機系統
Vagrant會自動配置好虛擬機的SSH端口,以及免密登錄SSH。所以我們只需要運行下面的命令即可進入Vagrant系統的終端。
vagrant ssh這樣就進入到了一個真正的Linux虛擬機系統中。如果要安裝軟件的話,也可以使用apt等系統對應的包管理器來安裝。
Vagrant還有一個非常好用的功能就是自動同步,現在我們在項目中創建一個文件,例如簡單寫一個Python腳本。
#! /usr/bin/env python3import platformprint(platform.platform())然后在虛擬機中切換到/vagrant目錄下,可以看到這個目錄下也出現了相同的文件。沒有錯,Vagrant會自動將項目中的所有文件同步到該文件夾下。這是非常方便而且實用的一個功能。有了它,我們可以在Windows中利用任何喜歡的軟件來開發程序,然后在虛擬機中調試和運行程序,而完全不用關注底層的工作,因為Vagrant會幫我們做好這一切。
啟動腳本
Vagrant還支持一個名為啟動腳本的功能,它允許我們在運行vagrant up命令啟動虛擬機的時候,自動執行一個腳本,來完成一些任務,這些任務可以是安裝某些必備軟件,可以是從Github上克隆某些項目,也可以是復制或者刪除某些項目文件。總之,我們可以將一些必需任務寫成腳本,然后讓Vagrant自動執行,這樣就可以實現“可移植”的開發環境。當別人使用了我們的Vagrant項目,不需要任何額外工作,直接啟動項目,就能得到和我們完全一樣的開發環境。而這正是Vagrant的目標之一。
這個功能其實也很簡單,首先創建一個shell腳本文件,,假設文件名為bootstrap.sh,在其中編寫我們需要的操作。然后只需要在配置文件中添加如下的配置即可。
Vagrant.configure("2") do |config| # 以下這一行是重點 config.vm.provision :shell, path: "bootstrap.sh"end這樣,在啟動項目和虛擬機的時候,就會自動執行bootstrap.sh腳本文件。
如果覺得本文有幫助的話,歡迎收藏轉發加評論,大家一起交流進步呀!
總結
以上是生活随笔為你收集整理的ecology9 后端开发环境搭建_利用Vagrant快速搭建开发环境的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: go使用grpc实现异步_(python
- 下一篇: h5支付不能打开支付宝 ios_IOS