摘要:其中一個對于開發者來說,比較明智的選擇是采用DigitalOcean公司提供的云服務。DigitalOcean公司是2012年在紐約創建的云主機廠商。DigitalOcean云服務以合理的價格提供快速的機器,但并不提供主要云提供商所提供的主要功能,如果用戶需要一家開發商,DigitalOcean的機器是一個可以輕松部署的方式。
如果工作人員希望盡快提供客戶明天需要的東西,云計算是可能是最好的地方,因為可以采用一個完全配置的計算機在幾分鐘內提供數據。
其中一個對于開發者來說,比較明智的選擇是采用DigitalOcean公司提供的云服務。DigitalOcean公司是2012年在紐約創建的云主機廠商。DigitalOcean云服務以合理的價格提供快速的機器,但并不提供主要云提供商所提供的主要功能,如果用戶需要一家開發商,DigitalOcean的機器是一個可以輕松部署的方式。
提供droplet服務
DigitalOcean推出了一項非常便捷的“droplet”(水滴)服務,可以按小時計來為用戶提供計算和存儲服務。DigitialOcean的droplet可以建立和解除常見的測試和調試新網站。隨著droplet的應用,很容易進行實驗。
如今,有幾種采用droplets的方法,用戶根據自己的需要進行選擇。一些開發人員希望有一個具有標準版本的操作系統的原始機器。這可以采用幾個步驟完成,其余的功能可以根據用戶的需求進行擴展。
但是如果用戶需要一個通用的配置,DigitalOcean公司提供了許多準備運行的一系列標準圖像。它們可以像常規機器一樣被部署在盡可能多的步驟中。
首先構建一個基本的服務器,然后將注意力轉到在DigitalOcean上部署預配置的所需要的映像上。
采用DigitalOcean的droplet構建服務器
DigitalOcean的droplet類似于其他公司所稱的“實例”或“虛擬服務器”。一個droplet感覺就像一個在辦公桌上獨立的服務器,因為用戶可以獲得根密碼和訪問所有的文件系統,可以能夠隨心所欲地進行配置。這因為droplet是真正的虛擬機,在用戶的控制下,似乎是一個獨立的服務器。用戶使用這種設置,如果應用程序需要,可以相對容易地調整droplet的大小以增加更多內存或磁盤空間。
當你推出一個droplet時,必須做出四個主要決定和一些小決定。每個只需要在網絡界面上點擊(DigitalOcean還提供用于自動化的API)。它們是:
1.操作系統:DigitalOcean提供六個主要的開源Unix操作系統。大多數都是在Linux上構建的,但也有FreeBSD。所有最近的主要版本也都可用。Windows,MacOS或Solaris當前不可用。很多人使用Ubuntu,這是默認的選擇。
2.大小規格:droplet有14種規格,大部分是由RAM定價的。標準機器配備2GBRAM,其費用為每小時3美分或每月20美元。如果用戶想配置兩倍的內存,就要支付兩倍的費用。這個規格大小還決定了虛擬CPU的數量,本地磁盤空間的大小,以及可以通過網絡傳輸的數據量,但這些配置大致與價格成比例。當用戶從每小時花費3美分的小型droplet切換到每小時6美分時,用戶將從40GB的磁盤空間轉為60GB。并得到更多的配置支付更多的費用,但并不總是成正比的價格。DigitalOcean還提供了一個非常小的機器,只有512MB的RAM。這對于小型作業通常是足夠的,并且是用于快速實驗的理想大小。目前其價格為每月5美元,這對于嘗試新想法的用戶非常具有吸引力。并且很容易設置和銷毀這些虛擬機器,而不會超出自己的預算。用戶不必為擔心其過度配置,因為如果需要更多的droplet可以重新調整大小(此處列出的其他參數,如操作系統或位置,不能輕易更改)。
3.位置:DigitalOcean公司在世界各地維護12個數據中心,用戶應該選擇最接近初始用戶群的數據中心。當需求增長時,用戶可以隨時設置全球網絡。值得注意的是,只有三個DigitalOcean的數據中心目前支持將磁盤存儲添加為一個單獨的塊:紐約(NYC1),法蘭克福(FRA1)和舊金山(SFO2)。這三個數據中心單獨提供創建一個單獨的磁盤存儲塊的選項,并安裝用戶的droplet選項。如果用戶希望使用這個服務,就必須選擇這三個數據中心中的一個。
4.塊存儲:DigitalOcean最近開始提供塊存儲選項,可以讓用戶創建一個獨立于其droplet存儲的獨立磁盤存儲塊。如果用戶想要創建持久文件或數據庫,當droplet關閉時,這將是有用的。如果用戶通過打開和關閉droplet來頻繁地擴大規模或縮小規模,將持久數據存儲在其中一個塊中是有意義的。它們目前只能在三個數據中心(NYC1,FRA1和SFO2)中使用。
除了這些選擇,有幾個選項值得注意。如果用戶需要備份其機器,最簡單的解決方案是檢查“備份”選項,并且DigitalOcean將創建并保留用戶機器的每周四次備份,但會額外收取20%的費用。如果用戶需要更頻繁的備份,則需要自行添加此功能。
如果要在同一個數據中心中運行多臺計算機,并想要在它們之間設置私人鏈接,則可以添加專用網絡。如果用戶需要在數據中心之間提供更多保護,則需要向堆棧添加加密措施。實際上,用戶可能希望確保即使在同一數據中心內的計算機之間的通信也是加密的。
DigitalOcean開始推出可跟蹤機器基本統計信息(如負載和RAM消耗)的裸機遙測。這只適用于幾個主要的操作系統,如Ubuntu,它可以通過點擊啟用。
還有與標準版本的操作系統一起預加載數據的選項。最重要的是在用戶登錄時驗證其SSH密鑰。如果用戶需要上傳更多的常規數據,DigitalOcean會提供上傳一個可以包含任意信息的文本塊。
做出這些決定后,用戶可以通過添加具有相同配置的其他droplet,只是重復實施這樣的過程。
最后一步是為自己的droplet命名,這樣用戶可以記住為什么創建它,以及它應該做什么。
按下按鈕進行部署后,用戶會在稍后等待一段時間后收到一封包含所有詳細信息的電子郵件。以下就會出現這樣的信息
Droplet Name:frog
IP Address:162.243.166.42
Username:root
Password:df166444718c2d80
一旦用戶收到這樣的信息,可以登錄和使用,就像安裝在任何地方的一個新服務器。這意味著更改用戶的密碼和設置工作帳戶,以便用戶不需要以root用戶身份登錄。此外,用戶還需要運行以下內容:
sudoapt-getupdate(更新本地軟件包列表)
sudoapt-get
sudoapt-getdist-upgrade
從DigitalOcean部署標準包
DigitalOcean提供了許多標準軟件包以及預先配置的流行開源軟件,因此它可以快速啟動和運行。許多服務器最常見的用途是預構建的圖像,包括諸如Drupal,WordPress,MongoDB或Git之類的選項。
而預構建的映像令人喜憂參半,因為并不是所有的軟件都是盡可能最新的。跟上許多開源項目的快速修訂周期可能是一個挑戰,而且DigitalOcean并不總是立即進行更新。例如,構建一個由Ubuntu14.04和Drupal8.1.3組成的圖像,雖然Ubuntu16.04和Drupal8.2.5是免費提供。這意味著,一旦小droplet建立更新用戶的操作系統和軟件到最新版本,用戶將需要做一些更多的工作。
好消息是,許多DigitalOcean的腳本是全面的。他們經常完成許多小細節來創建帳戶和建立與數據庫的連接。在Drupal的情況下,腳本建立一個管理員帳戶,分配一個隨機密碼,并將此密碼存儲在當用戶通過SSH登droplet時所看到的當天的消息中。
看起來像這樣:
Thank you for using DigitalOcean’s Drupalapplication. We have create dabase install that can be seen at http://159.203.122.32/,youshould go there now and finish the install at ionprocess via the credentials below.
(感謝使用DigitalOcean的Drupal應用程序。我們創建了一個基本的安裝配置,可以在http://159.203.122.32/看到,你應該立即通過以下提示完成安裝過程。)
User:admin
Pass:kkRgaXUJrL
Nginx在公共IP(159.203.122.32)端口80上偵聽,并將請求轉發到在socket上監聽的php-fpm。Nginx訪問日志在/var/log/nginx/access.log中,錯誤日志在/var/log/nginx/error.log中要重新啟動Drupal,請運行:sudo restart php5-fpm
DigitalOcean還在每個選項的教程頁面中提供有用的信息。
這對于用戶來說提示信息是足夠的。例如用戶構建了一個Drupal8.1.3,很快發現有一個安全問題,并且要盡快升級到8.2.5。用戶應該認識到其腳本可以節省大量的時間和精力,但他們不會刪除,希望更多地了解底層軟件的需要。用戶需要學習如何維護它,并注意其潛在的問題。
使用預構建的DigitalOcean圖像構建完整的“一鍵應用”與構建操作系統的基本版本非常相似。用戶對大小,位置和其他詳細信息要做出相同的決定。DigitalOcean只加載一個稍微不同的圖像軟件運行。
在DigitalOcean上構建集群
如果用戶的droplet楔入或無響應,用戶也可以通過DigitalOcean網站關閉它,但此操作可能導致數據損壞,并且文件系統不一致。每個droplet的電源選項卡包括兩個選項,用于重新啟動droplet或完全關閉droplet。
當用戶關閉droplet時,可以調整大小,重新配置或修復它。可以通過轉到droplet的電源選項卡,然后按下“開機”按鈕,重新打開droplet。
調整DigitalOcean droplet的大小
當電源關閉時,droplet主頁的“調整大小”選項卡提供了兩個用于調整droplet大小的選項。第一個只改變專用于droplet的CPU和RAM的數量。這是一個很好的選擇,當用戶需要暫時的更多的能力時就可以選擇,并在使用完畢之后切換回來。
第二個選項會更改RAM,CPU和磁盤空間,這個步驟可能需要更長時間,因為必須擴展磁盤空間。此選項是不可逆的,因為沒有簡單的方法來縮小磁盤空間。如果用戶需要更小的droplet,就需要創建一個新的較小的版本,并使用快照或rsync自己復制數據。
重建一個DigitalOceand roplet的文件系統
在機器關閉后,可以使用恢復內核重新啟動許多個發行版。此選項可以在小droplet主頁的Kernel選項卡中找到。當用戶單擊按鈕時,可以換出內核并重新啟動它。并非每個液滴都啟用此選項。
DigitalOcean提供了有關安裝驅動器和執行標準fsck教程的各種方法的完整教程。還提供了使用恢復ISO重新啟動的選項,可以解決其他問題,并保存數據。
對DigitalOcean droplet進行網絡更改
用戶還可以在關閉droplet時調整droplet的網絡配置。droplet主頁的Networking選項卡提供了啟用專用網絡或打開公共IPv6訪問的選項。兩者都可以配置。
在DigitalOcean droplet上重置root權限
如果用戶忘記了root密碼或者擔心某種類型的泄密,可以在droplet關閉時重置root密碼。并使用主要droplet頁面的訪問選項卡。