動態(tài)獲取IP這個事情我們要解決什么問題?
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了灞橋免費建站歡迎大家使用!
家里有臺服務(wù)器,如果我們想要訪問的話,必然需要通過一個外網(wǎng)IP,然后通過內(nèi)部和外部的端口進行映射才能訪問到,為了方便的獲取訪問家庭的外部IP,所以需要通過內(nèi)部自發(fā)現(xiàn),然后通知到自己。當(dāng)然也有其他方案,例如花生殼、動態(tài)域名解析等,甚至可以通過遠程協(xié)助軟件手工發(fā)現(xiàn)。這里呢我們利用了crontab定時任務(wù),自動觸發(fā)獲取家庭公網(wǎng)IP信息發(fā)送給自己。
如果家庭私有云采用的是群輝等成熟方案,可以繞過,直接跳轉(zhuǎn)到學(xué)習(xí)python的過程,因為他們一般都自帶相關(guān)功能。
這個系列的重點在于學(xué)習(xí)一下python3簡單用法,以及思考如何一步步改進程序使得程序更加簡潔有效??偣卜譃?個步驟。第1步,聯(lián)系運營商申請外網(wǎng)IP;第2步,服務(wù)器安裝python3環(huán)境;第3步學(xué)習(xí)通過python3寫一個獲取本機外網(wǎng)的IP小程序,步驟4,服務(wù)器上定時執(zhí)行python程序.
首先,我們要知道為什么要申請外網(wǎng)IP。目前家用寬帶基本上是浮動的IP,經(jīng)常會發(fā)生變化,且基本上沒有外網(wǎng)IP,都是通過運營商NAT設(shè)備鏈接到外網(wǎng),共享一套IPV4地址池。平時在家里使用網(wǎng)絡(luò)我們不會在意自己家是否有一個固定的IP,通常想要一個完全固定的IP幾乎不現(xiàn)實,費用比較高,且一般針對企業(yè)。
有了外網(wǎng)之后,我們可以通過地址映射,將公網(wǎng)IP直接映射到家里內(nèi)網(wǎng)地址,通過直連外網(wǎng)地址的方式連接到家里服務(wù)器或者家里提供的私有服務(wù)上。至于如何申請和配置映射,如果有需要,后面開放教程教給大家(話外音:別煩啦,打電話給運營商就行 - )。
這里也簡單帶過,因為網(wǎng)絡(luò)上教程非常多,下面僅列一下操作步驟
先通過如下命令檢查下是否已經(jīng)安裝,如下圖顯示內(nèi)容就表示已經(jīng)安裝好了
如果沒有安裝的話執(zhí)行如下命令
執(zhí)行如下命令,等待一段時間,如果跳過這一步驟,通過gcc編譯python的會提示一些錯誤,導(dǎo)致pip沒有安裝等問題
按如下命令順序逐個執(zhí)行
通過以上一頓操作,在控制臺輸入python3,如下圖,表示已經(jīng)安裝完成,測試完成后輸入exit()退出即可
眾說周知Amazon EC2是一個公共云的計算平臺,屬于IaaS(基礎(chǔ)設(shè)施即服務(wù))這類.
現(xiàn)在有一款開源的項目Eucalyptus(Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems),同樣實現(xiàn)了Amazon EC2的功能,由于其開源性,注定了搭建一個私有的云計算平臺成為可能. 更方便的是Ubuntu9.10服務(wù)器版已經(jīng)集成了Eucalyptus這個開源軟件,使的搭建企業(yè)私有的云計算平臺變得方便而簡單.
下面我們將一步步來搭建這個私有的云計算平臺.
一 準備工作
1) 至少準備兩臺機器, 當(dāng)然我這里是用虛擬機軟件(Sun VirtualBox)來虛擬出兩臺實際的機器 (如果你也采用Sun VirtualBox,有些注意事項,可以參見后面的附錄一)
2) 底層操作系統(tǒng): Ubuntu9.10 服務(wù)器版 ()
3) 云服務(wù)環(huán)境 : Eucalyptus , ( Ubuntu9.10 服務(wù)器版 內(nèi)置)
4) Eucalyptus 命令行客戶端
5) Eucalyptus客戶端: Elastic Fox ,這是一個firefox插
件 :
--------------------------------------------------------------------------
二 云計算服務(wù)的搭建(使用Ubuntu自帶的向?qū)?十分簡單的哦)
1) 一臺機器, 作為Cluster(Front End) , 命名為: ubuntu-cluster , 它包含了如下部分
1. Cloud Controller (clc)
2. Cluster Controller (cc)
3. Walrus (the S3-like storage service)
4. Storage Controller (sc)
5.
2) 至少一臺機器作為Node, 命名為: ubuntu-node1,它包含了如下部分
Node Controller (nc)
3) 在作為Cluster的機器上 ,安裝基本系統(tǒng): Ubuntu9.10 服務(wù)器版
1.安裝引導(dǎo)時,要選擇 "Install Ubuntu Enterprise Cloud"
2. 安裝過程中,如果提示"Cluster" 還是"Node",一定要選擇Cluster
3.安裝過程中,提示"Configure postfix" 時 選擇 internet Site
4. 安裝過程中,提示"Name your cluster" 時 ,請取一個合適的名字,比如我取之為: cluster1
5. 安裝過程中,提示"a list of available IP addresses on your network", 一定要選擇一個可用的公共IP段.
4) 在作為Node的機器上 ,也安裝基本系統(tǒng): Ubuntu9.10 服務(wù)器版
1.安裝引導(dǎo)時,要選擇 "Install Ubuntu Enterprise Cloud"
2. 安裝過程中,如果提示"Cluster" 還是"Node",一定要選擇Node, (如果Cluster正在運行,這一步可能不會出現(xiàn),自動會選擇Node
3.安裝完一個節(jié)點后,,后續(xù)的節(jié)點可以采用克隆方法,參見后面的 附錄二
5) 在Cloud Controller(位于ubuntu-cluster)上注冊所有的Node機器: 在ubuntu-cluster上執(zhí)行:
1. sudo euca_conf --no-rsync --discover-nodes
2.
至此,一個私有的云計算平臺已經(jīng)搭建好了,下面就開始說,如何使用了,很簡單吧!
三 云計算平臺管理之命令行工具(Euca2ools)
1)在 中注冊個人信息然后登錄下載 證書 euca2-yourname-x509 .zip
2) 在客戶端機器上執(zhí)行
1. $ mkdir ~/.euca
2. $ cd ~/.euca
3. $ unzip euca2-yourname-x509 .zip
4. $ chmod 0700 ~/.euca
5. $ chmod 0600 ~/.euca/*
6.
3) 在客戶端機器上執(zhí)行, 安裝 Euca2ools 和 EC2-API-Tools
1. . ~/.euca/eucarc
2. echo "[ -r ~/.euca/eucarc ] . ~/.euca/eucarc" ~/.bashrc
3. sudo apt-get install euca2ools
4. sudo apt-get install ec2-api-tools
5. sudo reboot
6.
4)在客戶端機器,使用 Euca2ools 上傳 Kernel / Ramdisk / FS Image (使用者可注冊 Image,但只有管理者才可注冊 kernel/ramdisks)
1. 目前 Eucalyptus 系統(tǒng)上沒有 Kernel、Ramdisk 和 FS Image,所以我們使用官方提供的 Image (上傳需要用到三個指令)
1. euca-bundle-image - 打包好將要上傳的檔案
2. euca-upload-bundle - 上傳到 Eucalyptus
3. euca-register - 注冊上傳的檔案
4.
2. 上傳Kernel,如:
1. euca-bundle-image -i /boot/vmlinuz-2.6.31-14-generic-pae --kernel true
2. euca-upload-bundle -b kernel -m /tmp/vmlinuz-2.6.31-14-generic-pae.man
ifest.xml
3. euca-register kernel/vmlinuz-2.6.31-14-generic-pae.manifest.xml
4.
3.上傳 Ramdisk
1. euca-bundle-image -i /boot/initrd.img-2.6.31-14-generic-pae --ramdisk
true
2. euca-upload-bundle -b ramdisks -m /tmp/initrd.img-2.6.31-14-generic-pa
e.manifest.xml
3. euca-register ramdisks/initrd.img-2.6.31-14-generic-pae.manifest.xml 4.
4. 查看已上傳到檔案:
方法一:
方法二: euca-describe-images
5. 根據(jù)查看的結(jié)果,上傳FS Images:(分配 Kernel 和 Ramdisks 給 VMs 有三種方法,見附錄三)
1. tar zxvf karmic-server-uec-i386.tar.gz
2. euca-bundle-image -i karmic-server-uec-i386.img --kernel eki-977213C6
--ramdisk eri-0CBA157D
3. euca-upload-bundle -b images -m /tmp/karmic-server-uec-i386.img.manife
st.xml
4. euca-register images/karmic-server-uec-i386.img.manifest.xml
5.
5) 申請 key pair,以便 ssh 登入 instance
1. ec2-add-keypair mykey mykey.private
2. chmod 0600 mykey.private
3.
6) 在客戶端機器,開啟虛擬機.
1.查看 euca-describe-images ,獲得希望啟動Image emi
2.啟動一個虛擬機:
1. euca-run-instances -k mykey -n 1 emi-8022139D
2.
3.查看這個虛擬機的基本信息,比如IP地址,和 此實例id
1. euca-describe-instances
2.
4.登錄這個新啟動的虛擬機
1. ssh -i mykey.private root@192.168.100.X
2.
5.終止這個虛擬機實例
1. euca-describe-instances(獲得instance-id)
2. euca-terminate-instances instance-id
3.
附錄一: 虛擬測試環(huán)境的搭建:
1.虛擬機軟件: Sun VirtualBox
2.管理 - 全局設(shè)定 - 網(wǎng)絡(luò) 中 選擇 "Host-Only" 點編輯,然后選擇 "DHCP服務(wù)器", 禁用"啟用服務(wù)器"
3建立兩臺虛擬機, Linux/Ubuntu ,網(wǎng)絡(luò)選擇Host-Only方式
4在宿主機器上,將可以聯(lián)互聯(lián)網(wǎng)的 網(wǎng)卡設(shè)置為 針對 Host-Only 網(wǎng)卡的共享
說明,這里之所以采用 , Host-Only + 通過宿主機器共享上網(wǎng) ,而不采用Bridged的聯(lián)網(wǎng)方式,是前者可以在離開網(wǎng)絡(luò)支持的情況下, 虛擬機之間的關(guān)系保持不變.
在一臺電腦上搭建一個私有云平臺的具體步驟如下:
1、首先百度搜索“私有云企業(yè)網(wǎng)盤”或直接搜索“云盒子”,進入官網(wǎng)下載Windows服務(wù)器一鍵安裝包即可。
2、然后為服務(wù)器設(shè)置固定IP,打開網(wǎng)絡(luò)和共享中心,在本地連接屬性中設(shè)置填入IP等信息。
3、雙擊安裝包進行安裝,完成后會自動彈出個服務(wù)器控制臺。點擊下方的“配置”按鈕,在彈窗中選擇自動配置后點擊完成,隨后回到控制臺窗口,點擊“啟動”按鈕。
4、啟動完成之后點擊激活服務(wù)器的快捷,一般情況下會自動彈出激活頁),依照自身網(wǎng)絡(luò)情況選擇激活方式,直接選擇在線激活,依照提示進行操作即可。
5、之前填寫的郵箱賬號及密碼僅用于綁定激活服務(wù)器,登錄名及密碼則是admin/11111(初始可更改)。還有就是要記住自己的企業(yè)ID,此為服務(wù)器的唯一標(biāo)識。
6、使用的客戶端可以直接在自己服務(wù)器的web端頁面下載,千萬別到官網(wǎng)中下載客戶端,那些連接的是官方體驗服務(wù)器。由于企業(yè)ID不同,且為了避免不必要的麻煩還是到自己服務(wù)器的web端下載較為保險。