雲端報告
PAAS:Heroku Heroku是一個支援多種程式語言的雲平台即服務。 在2010年被Salesforce.com收購。Heroku作為最開始 的雲平台之一[1],從2007年6月起開發,當時它僅 支援Ruby,但後來增加了對Java、Node.js、Scala、 Clojure、Python以及(未記錄在正式檔案上)PHP 和Perl的支援。基礎作業系統是Debian,在最新的 堆疊則是基於Debian的Ubuntu[2]。
發布網站到 Heroku
註冊 https://signup.heroku.com/login
收信和設密碼
安裝 Heroku CLI https://devcenter.heroku.com/articles/heroku-cli#windows
試用 Heroku CLI 輸入heroku
登入heroku
heroku 的初始設定到這裡就算完成了,接下來我們安裝 Git。
安裝 Git https://git-scm.com/download/win
試用 Git
設定 git 作者資訊 設定作者名稱的方法是在cmd裡輸入以下指令: git config --global user.name "etrex kuo“ 其中 etrex kuo 是我的名字,你應該把他改成你的名字。 設定信箱的方法是在小黑框裡輸入以下指令: git config --global user.email "kamigo.service@gmail.com"
專案的 git 初始設定 使用小黑框來上傳程式,先開一個在專案目錄下的小黑框,然後 輸入git init D:\只要有心,人人都可以作卡米狗\ironman>git init Initialized empty Git repository in D:/只要有心,人人都可以作卡米狗 /ironman/.git/ OR Reinitialized existing Git repository in D:/只要有心,人人都可以作卡 米狗/ironman/.git/ 都是正常現象
專案的 heroku 初始設定 要在 heroku 建立一台新的網頁伺服器,輸入的指令是 heroku create + 專案名稱,這個名稱要夠特殊,要不然會跟別人撞名。 我選的專案名稱是 people-all-love-kamigo,所以我輸入 heroku create people-all-love-kamigo。 D:\只要有心,人人都可以作卡米狗\ironman>heroku create people-all-love-kamigo Creating people-all-love-kamigo... done https://people-all-love- kamigo.herokuapp.com/ | https://git.heroku.com/people-all-love- kamigo.git D:\只要有心,人人都可以作卡米狗\ironman>
建立好之後回到 heroku 的後台 (https://dashboard.heroku.com/apps)上你會看到一個 app:
上傳程式碼到 Heroku 我們要使用 git 來上傳程式碼,而 git 是一款非常強大的版本控管 軟體,擁有非常多的功能。但我們要上傳程式碼只需要學習其中 的 3 個指令。 git add git commit git push
指令一:git add 首先是 git add,git add 可以指定這次想要加入控管的檔案,我們 輸入 git add .,表示我們想把所有的檔案都加入控管。 D:\只要有心,人人都可以作卡米狗\ironman>git add . 之後會出現一堆訊息但不是很重要,意思是:「我把 windows 的 換行符號改成別種系統的換行符號了哦。」
指令二:git commit 接下來是 git commit, git commit 表示我們想要建立一個新的版本, 我們要留下一些紀錄說明這個版本作了什麼變更,因為是第一次, 所以我們輸入 git commit -m init。 D:\只要有心,人人都可以作卡米狗\ironman>git commit -m init 一樣會出現一堆訊息,意思是:「這次建立的版本新增了這些檔 案哦。」
指令三:git push 接下來是 git push,git push 可以把我們建立好的版本,傳送到遠 端的 git server,當然我們是要傳送到 heroku,所以我們輸入的是 git push heroku master D:\只要有心,人人都可以作卡米狗\ironman>git push heroku master。 會出現錯誤,所以我們必須移除 sqlite3 這個套件才行。
第12行寫著:gem 'sqlite3' 表示這個專案會使 用 sqlite3 這個套件。套件是一群佛心來的人 寫好後公開給大家用的程式。如果你想要安 裝套件,就會需要在這裡加一行程式,如果 想要移除某個套件,就要刪掉那一行程式。
移除 rails 專案中所使用的 sqlite3 套件 前面提到 Gemfile 第12行寫著:gem 'sqlite3',我們可以在這行的 最前面加一個 # 號把這行變成註解,像這樣:
每當修改過 Gemfile 之後,你要在小黑框輸入 bundle install。 如果沒有安裝bundle則輸入gem install bundler 弄好之後記得存檔,存完檔之後,在小黑框輸入 bundle install。
進行本機測試 開啟 rails server 看看是否一切正常 D:\只要有心,人人都可以作卡米狗\ironman>rails s => Booting Puma => Rails 5.1.4 application starting in development => Run `rails server -h` for more startup options *** SIGUSR2 not implemented, signal based restart unavailable! *** SIGUSR1 not implemented, signal based restart unavailable! *** SIGHUP not implemented, signal based logs reopening unavailable! Puma starting in single mode... * Version 3.11.0 (ruby 2.4.2-p198), codename: Love Song * Min threads: 5, max threads: 5 * Environment: development * Listening on tcp://0.0.0.0:3000 Use Ctrl-C to stop
他說:「你的程式有用到 sqlite3,但是你沒有安裝 sqlite3,所以 我又爆啦。」
改用 postgresql 我們需要把 config/database.yml 中第 8 行的 adapter: sqlite3 改為 adapter: postgresql。
我們還需要安裝 postgresql 這個套件,這個套件叫 pg,所以修改 Gemfile 如下:
注意事項 group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] # Adds support for Capybara system testing and selenium driver gem 'capybara', '~> 2.13' gem 'selenium- webdriver' end 以上程式碼 如果把 gem 'pg', '~> 0.21.0' 寫在這個 group 裡的話,heroku 就還 是壞的。 改完 Gemfile 之後,先關閉網頁伺服器,然後在小黑框輸入 bundle install 安裝新套件完之後再打開網頁伺服器。
再次進行本機測試
把改動後的程式碼上傳到 heroku 上傳到 heroku 之前要先建立一個 git 版本,之前提到過的上傳三 步驟: git add . git commit -m "註解" git push heroku master 只有在 config/routes.rb 檔案裏面有寫到的那些路徑才是我們應該 測的路徑,所以我們應該連到這裡:https://people-all-love- kamigo.herokuapp.com/kamigo/eat。
成功
SaaS : iCloud iCloud是蘋果公司所提供的雲端儲存和雲端計算服 務。 初始空間有5GB,可以購買儲存空間。 用戶能在iCloud中儲存音樂、相片、App資料、檔 案、聯絡人和日曆等。 並將無線推播到用戶所有支援iCloud同步的裝置上, 而不用使用連接線來同步。
IaaS:DigitalOcean DigitalOcean是一家建立於美國的雲基礎架構提供 商,面向軟體開發人員提供虛擬專用伺服器 (VPS)。該公司總部設在紐約市,並在世界各地 擁有數據中心。 2015年12月,DigitalOcean成為了全球第二大面向 Web的網絡寄存服務公司。
註冊 DigitalOcean
登入畫面
注冊
付款設定完成後,再來就是建立虛擬主機
安裝 登入DigitalOcean後點選右上角的 Create Droplets 按鈕
介紹 DigitalOcean 建立主機分為兩種 Distributions 是讓使用者自己架設雲端主機,目前提供 6 種 OS,分別為 One-click apps Distributions 是讓使用者自己架設雲端主機,目前提供 6 種 OS,分別為 Ubuntu FreeBSD Fedora Debian CoreOS CentOS One-click apps 是一鍵的套裝包,目前提供約 30 種的一鍵安裝包。 1. Distributions
Distributions種類
One-click apps種類
Distributions版 建立虛擬主機,以 Ubuntu 16.04.1 x64 為例
選擇方案
選擇 Datacenter region
主機取名
建立過程
One-click apps版
選擇付費種類
選擇地區
主機取名
建立過程
完成 打上IP地址