作為一名程式猿,我們常常會遇到需要搭建開發環境的問題,特別是在新入職的時候,sublime, node, apache, mysql, php等等以及各種框架的安裝,如果入職的是大公司有可能這些必要的開發環境運維人員會為我們安裝好,如果是中小型公司那就需要開發者自己來搭建開發環境,而且還要避免安裝的版本不同等問題,這就需要用到我們今天介紹的這款工具了,Vagrant目前是國內互聯網公司應用最多的內部開發環境工具,Vagrant是我們開發者的福音,使我們完全擺脫了重復配置環境的處境,
前期準備
在搭建之前我們將用到以下軟體:
- vagrant這里我們選用1.8.6的版本,可在這里下載對應平臺下的安裝包
- virtualBox這里我使用virtualBox虛擬機,當然也可以使用其他虛擬機,
- xshell5,window用戶需要安裝xshell5用來登錄linux系統環境
這些軟體安裝好后接下來才真正開始使用vagrant
初始化
在xshell中執行
cd D:
mkdir vagrant/centos
cd vagrant/centos
vagrant init
此時可以看到在centos檔案夾下有一個Vagrantfile檔案,
用sublime或其他編輯器打開此檔案找到config.vm.box = "base",并將它改為config.vm.box = "centos/7",同時也可以添加一下這個box的版本號 config.vm.box_version="1804.02"
這里為什么將base改為centos/7?
我這里打算用linux的centos7發行版,vagrant為我們提供了很多的box,我們可以在這里查詢到https://app.vagrantup.com/boxes/search,選擇centos7,就可以看到它推薦我們將config.vm.box = "centos/7",同時選好我們使用的版本,這里我們選擇用1804.02
vagrant up
在這里使用window的朋友需要將powershell升級到3.0及以上
如何升級可參考這篇博客https://blog.csdn.net/i_am_wangbo/article/details/50033473
升級好后再次執行vagrant up

可以看到vagrant在自動下載我們配置好的box

如果出現如圖所示情況,我們可以更改下Vagrantfile的配置,

啟用vb.gui = true配置,以圖形界面的形式啟動虛擬機,這樣我們就能看到具體是什么報錯了

這里我們需要開啟硬體加速
具體如何開啟可參考這篇https://jingyan.baidu.com/article/4b52d702a3e0aafc5d774b7c.html
設定好后再次執行vagrant up,這次沒有報錯了,此時我們可以看到執行到了centos的登錄界面

至此mac用戶可以直接執行vagrant ssh
window用戶可以根據提供的address username port新建ssh連接
輸入用戶名后,密鑰我們點擊瀏覽,選擇檔案D:\vagrant\CentOS.vagrant\machines\default\virtualbox\private_key,這是剛生成的密鑰

至此我們已經登錄進了centos系統了,
進入系統后我們就可以安裝配置我們的環境了,具體的PHP開發環境可參LNMP + Apache 架構配置.
可開發環境安裝好后如何讓他人和我有相同的環境配置呢?
box的打包與分發
現在開發環境安裝好后我們需要將我們的box打包,
vagrant package --output D:/vagrant/box/CentOS.box
我們可以看到在box檔案夾下生成了一個CentOS.box檔案,我們可以通過U盤或網盤將這個box分發給其他同事,
提他同事安裝后vagrant就可以用這個box了
載入這個box
vagrant box add CentOS.box
vagrant up就可以直接使用了,這樣其他同事就和我們有相同的環境配置了
vagrant優化
如果一個box在使用的程序中又安裝了其他軟體怎么辦?
對于新用戶我們可以重新打包分發,對于老用戶我們可以修改Vagrantfile檔案
config.vm.provision "shell", inline: <<-SHELL
yum install -y apache2
SHELL
這樣在下次執行vagrant up的時候會自動安裝新的軟體
如何以固定ip的形式訪問虛擬機上的web服務器
這里我們可以通過設定私有網路ip的形式供自己訪問,
config.vm.network "private_network",ip:"192.168.10.10"
這樣我們就可以通過這個ip訪問到我們的服務器了
vagrant常用命令
vagrant box list 查看目前已有的box
vagrant box add 新增加一個box
vagrant box remove
vagrant inti 初始化配置生成vagrantfile
vagrant up 啟動虛擬機
vagrant ssh登錄虛擬機
vagrant suspend 掛起虛擬機
vagrant reload 重啟虛擬機
vagrant halt 關閉虛擬機
vagrant status 查看虛擬機
vagrant destory 洗掉虛擬機
設定vagrant默認以root用戶身份登錄
當通過vagrant up,以vagrant身份進入linux后,
sudo su root
vi /etc/ssh/sshd_config
找到PermitRootLogin設定為 yes
找到PasswordAuthentication設定為yes
保存后執行重啟sshd
service sshd restart
重啟該box后我們就可以用root身份登錄了,需要填寫密碼默認是vagrant
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/225260.html
標籤:其他
上一篇:關于老系統的重構和優化選擇
下一篇:git上傳新專案到coding
