狂創客圈 經典圖書 : 《Netty Zookeeper Redis 高併發實戰》 面試必備 + 面試必備 + 面試必備 【博客園總入口 】php
瘋狂創客圈 經典圖書 : 《SpringCloud、Nginx高併發核心編程》 大廠必備 + 大廠必備 + 大廠必備 【博客園總入口 】html
入大廠+漲工資必備: 高併發【 億級流量IM實戰】 實戰系列 【 SpringCloud Nginx秒殺】 實戰系列 【博客園總入口 】java
組件 | 連接地址 |
---|---|
【必須】 虛擬機Linux 開發環境準備 | |
Linux openresty 安裝 | Linux openresty 安裝 |
【必須】Linux Redis 安裝(帶視頻) | Linux Redis 安裝(帶視頻) |
【必須】Linux Zookeeper 安裝(帶視頻) | Linux Zookeeper 安裝, 帶視頻 |
Windows Redis 安裝(帶視頻) | Windows Redis 安裝(帶視頻) |
RabbitMQ 離線安裝(帶視頻) | RabbitMQ 離線安裝(帶視頻) |
ElasticSearch 安裝, 帶視頻 | ElasticSearch 安裝, 帶視頻 |
Nacos 安裝(帶視頻) | Nacos 安裝(帶視頻) |
【必須】Eureka | Eureka 入門,帶視頻 |
【必須】springcloud Config 入門,帶視頻 | springcloud Config 入門,帶視頻 |
【必須】SpringCloud 腳手架打包與啓動 | SpringCloud腳手架打包與啓動 |
Linux 自啓動 假死自啓動 定時自啓 | Linux 自啓動 假死啓動 |
必先利其器,開發環境 和 開發工具 就是 咱們開發人員的劍,因此咱們須要一個快而且好用的劍node
Vagrant:是一個比較流行的虛擬機管理軟件,使用Vagrant 可讓咱們用命令直接從雲上下載虛擬機的鏡像,而後進行建立和管理等。python
剛開始作開發的時候的都是把開發環境 配置在 本身的電腦上,隨着後面咱們接觸的東西愈來愈多,慢慢的電腦上都是各類環境了,php,java,python,nodejs等等,很是麻煩,而且常常因爲某種緣由就把電腦重裝了,ORZ,因此環境都要重來。因此打造一個屬於本身而且能夠移動的環境是很是重要的。linux
vagrant就是一款構建虛擬開發環境的工具,支持window,linux,mac,總有一款適合你。而且vagrant 能夠把配置好的環境打包成一個box,分享給其餘人直接使用,很是方便nginx
vagrant 是一個很適合開發者的虛擬環境部署工具,自己集成了主流的虛擬器管理工具,支持 vmvare 和 virtualbox。git
vagrant 的精髓在一個 Vagrantfile 裏面,和 docker 的 Dockerfile 功能上同樣。咱們只須要把須要安裝部署的步驟寫在 Vagrantfile 裏面,即可以實現輕鬆部署。vagrant 還支持把當前系統作成一個.box 後綴命名的鏡像,相似 docker 的 image,可輕鬆實現環境的移植。web
因此,使用vagrant能夠在運行着多臺vm的系統上定義複雜的虛擬框架。能夠經過 Vagrant 封裝一個 Linux 的開發環境,分發給團隊成員。成員能夠在本身喜歡的桌面系統(Mac/Windows/Linux)上開發程序,代碼卻能統一在封裝好的環境裏運行,很是霸氣。是否是很酷?面試
下載安裝 VirtualBox ,下載安裝 Vagrant ,下載更多不一樣系統甚至是已經配置好環境直接能夠用的box,雖然能夠直接在Vagrant直接使用網址,由Vagrant自動下載安裝,可是考慮到網絡狀況,仍是建議自行先下載好。
還能夠在 http://www.vagrantbox.es/ 這裏下載更多不一樣系統甚至是已經配置好環境直接能夠用的box,雖然能夠直接在Vagrant直接使用網址,由Vagrant自動下載安裝,可是考慮到網絡狀況,仍是建議自行先下載好。
virtualbox 官網地址
虛擬機仍是得依靠 VirtualBox 來搭建,免費小巧。下載地址 https://www.virtualbox.org/
vagrant2.2.7 官網地址
下載須要使用的 box :
此外,還得下載官方封裝好的基礎鏡像: Ubuntu precise 32 VirtualBox http://files.vagrantup.com/precise32.box Ubuntu precise 64 VirtualBox http://files.vagrantup.com/precise64.box 若是你要其餘系統的鏡像,能夠來這裏下載:http://www.vagrantbox.es/ 網友提供的centos 7.2網盤地址:https://pan.baidu.com/s/15S2OZq37FcL9RWWSTWntIw 提取碼:3xb0
空間:
15G 的硬盤空間
瘋狂創客圈網盤,爲你們準備了springcloud.box鏡像,裏邊預裝了java 、 redis 、zookeeper、kafka、Eureka、springcloud config 等必須的組件。網盤地址請參見【博客園總入口 】
E:\virtual\work
選擇新創建的文件夾做,右鍵 —> Git Bash Here,在Git Bash打開當前目錄
在 Git Bash 中能夠看到,當前的linux 格式目錄,執行指令以下:
$ pwd
/e/virtual/work
vagrant box add centos /e/virtual/vagrant-centos-7.2.box centos 表示指定名稱,若是使用base,以後能夠直接使用
$ vagrant box add centos /e/virtual/vagrant-centos-7.2.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'centos' (v0) for provider:
box: Unpacking necessary files from: file:///E:/virtual/vagrant-centos-7.2.box
box:
==> box: Successfully added box 'centos' (v0) for 'virtualbox'!$
vagrant-centos-7.2.box是box的文件名,這裏是本地保存box的路徑。也能夠是能夠下載box的網址,若是是網址的話,Vagrant會自動啓動下載。
設置好box以後,在當前工做目錄運行
$ vagrant init centos
centos爲初始化的時候須要指定box的名稱。執行的結果以下:
$ vagrant init centos
AVagrantfile
has been placed in this directory. You are now
ready tovagrant up
your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
vagrantup.com
for more information on using Vagrant.
你也可使用已有的目錄,切換到開發目錄裏,用 centos 鏡像初始化當前目錄。初始化鏡像以後,在當前目錄生成一個虛擬機的配置文件 Vagrantfile,經過該配置文件,能夠配置端口映射、虛擬機的IP、目錄映射等。經過文本編輯器打開Vagrantfile能夠進行一些進一步的經常使用配置,若是配置登陸用戶名稱和密碼,虛擬機的ip以下:
config.ssh.username = "root" config.ssh.password = "vagrant" config.vm.network :private_network, ip: "192.168.68.128"
重啓虛擬機,這樣咱們就能用 192.168.233.128 訪問這臺機器了,你能夠把 IP 改爲其餘地址,只要不產生衝突就行。
具體的配置,稍後介紹。
使用以下命令:
$ vagrant up # 啓動虛擬機
你會看到終端顯示了啓動過程,啓動完成後,咱們就能夠用 SSH 登陸虛擬機了,剩下的步驟就是在虛擬機裏配置你要運行的各類環境和參數了。
$ vagrant ssh # SSH 登陸
$ cd /vagrant # 切換到開發目錄,也就是宿主機上的 E:\virtual\work
Windows 用戶注意:Windows 終端並不支持 ssh,因此須要安裝第三方 SSH 客戶端,好比:Putty、Cygwin 、Git Bash等。
有關初始帳戶和密碼:
帳戶 | 密碼 |
---|---|
vagrant | vagrant |
root | vagrant |
可使用其餘的終端工具,經過root訪問虛擬機了
當你配置好開發環境後,退出並關閉虛擬機。在終端裏對開發環境進行打包:
$ vagrant package
打包完成後會在當前目錄生成一個 package.box
的文件,將這個文件傳給其餘用戶,其餘用戶只要添加這個 box 並用其初始化本身的開發目錄就能獲得一個如出一轍的開發環境了。
vagrant package -hUsage: vagrant package [options] [name]
Options:
--base NAME virtualbox程序裏面的虛擬機的名稱,不是box的名字也不是Vagrantfile裏面的虛擬機名稱.默認是打包當前目錄下面的虛擬機。
--output NAME 要打包成的box名稱,不會自動添加.box後綴,要手動加.默認值package.box --include FILE... 打包時包含的文件名,你能夠把.box文件理解爲一個壓縮包
--vagrantfile FILE 打包時包含的Vagrantfile文件,原理和上面相似
-h, --help Print this help
例子:vagrant package –base virtualbox_vm_name –output newbox_name.box
網絡配置:
Vagrant的網絡有三種模式
一、較爲經常使用是端口映射,就是將虛擬機中的端口映射到宿主機對應的端口直接使用 ,在Vagrantfile中配置:
config.vm.network :forwarded_port, guest: 80, host: 8080
guest: 80 表示虛擬機中的80端口, host: 8080 表示映射到宿主機的8080端口。
二、若是須要本身自由的訪問虛擬機,可是別人不須要訪問虛擬機,可使用private_network,併爲虛擬機設置IP ,在Vagrantfile中配置:
config.vm.network :private_network, ip: "192.168.1.104"
192.168.1.104 表示虛擬機的IP,多臺虛擬機的話須要互相訪問的話,設置在相同網段便可
三、若是須要將虛擬機做爲當前局域網中的一臺計算機,由局域網進行DHCP,那麼在Vagrantfile中配置:
config.vm.network :public_network
目錄映射:
既然是開發環境,那麼開發工做確定仍是須要在本地完成,而不是都要進到虛擬機中去完成,虛擬機就好好在後臺運行服務就行了,否則就本末倒置了,因此這裏就須要使用目錄映射功能,將本地的目錄映射到虛擬機的對應目錄。
默認狀況下,當前的工做目錄,會被映射到虛擬機的 /vagrant 目錄,當前目錄下的文件能夠直接在 /vagrant 下進行訪問,固然也能夠在經過 ln 建立軟鏈接,如
ln -fs /vagrant/wwwroot /var/www
來進行目錄映射,固然,從自動化配置的角度,能不進系統就不須要進系統,因此在Vagrant也能夠進行目錄映射的操做:
config.vm.synced_folder "wwwroot/", "/var/www"
前面的參數 「wwwroot/」 表示的是本地的路徑,這裏使用對於工做目錄的相對路徑,這裏也可使用絕對路徑,好比: 「d:/www/」
後面的參數 「/var/www」 表示虛擬機中對應映射的目錄。
當在啓動Vagrant後,對於虛擬機有進行過安裝環境相關的配置,若是並不但願寫在Vagrant的啓動shell裏面每次都從新安裝配置一遍,能夠將當前配置好的虛擬機打包成box,
注:若是網絡模式中使用 private_network 的話,在打包以前須要清除一下private_network的設置,避免沒必要要的錯誤:
sudo rm -f /etc/udev/rule.d/70-persistent-net.rules
製做完成以後直接將box文件拿到其餘計算機上配置便可使用。
更多信息能夠參考官方文檔:http://docs.vagrantup.com/v2/
附:我本機上的vagrantfile文件
Vagrant.configure(2) do |config| config.ssh.username = "root" config.ssh.password = "vagrant" config.vm.box = "centos" config.vm.network "private_network", ip: "192.168.68.128" config.vm.synced_folder "/home/wangkongming/files/works/code/kfz-pm", "/data/webroot/pmv2" end
官網文檔:https://docs.vagrantup.com/v2/getting-started/index.html
vagrant init 初始化vagrantfile
vagrant add box 添加box,自動幫你生成vagrantfile
vagrant halt 關閉虛擬機
vagrant destroy 銷燬虛擬機
vagrant ssh 鏈接虛擬機
vagrant reload 從新加載vagarntfile文件
vagrant suspend 暫時掛起虛擬機
vagrant status 查看虛擬機運行狀態
vagrant package 打包 box文件
瘋狂創客圈 - Java高併發研習社羣,爲你們開啓大廠之門