2018年1月16日 星期二

[Web] 為網站準備的 雲端主機 (Digital Ocean) 和 域名註冊 (Hosting speed)

按此推薦網址註冊,可獲得10美元Credit的優惠【 https://m.do.co/c/586afef63cee 】。

為老闆娘做網頁,自從寫好基本的網頁框架,就把它放下了一段日子,十二月尾至一月初忙著做線下的工作,為訂單起貨。現在網頁仍欠一些產品照和字型配色等的外觀設計,還有要等待和店主討論希望如何展示定價和包裝等等。在這個等待的時候,為了準備之後的正式部署上線,12月中開始租了一個Digital Ocean的雲端主機作虛擬專用伺服器(VPS) 用來寄存和運行網站;1月初還在 Hostingspeed.net 買了一個 .hk 的域名。

Digital Ocean

當開發階段有了雛型時,就向身邊的朋友示範和搜集意見,"上線"這部分就推介了DigitalOcean (D.O.) 這個VPS主機商。作為個人運作的網站,還要是對寫網頁仍在學習中的階段,它的好處是入門門檻相對很低。DO 有不同的租用計劃選擇,最便宜的只需每月$5美金,(新用戶用朋友的邀請連結去註冊,有$10的credit,如上),可以分到一個在新加坡的伺服器, 512mb記憶體,20GB硬碟空間,我選擇 1-click app的版本,預設好 Ubuntu 16.04, Python 2.7.12, Django 1.8.7。


按邀請 [連結] 建立帳戶:

建立Droplet:
[Create] > [Droplets]

運行的作業系統都是 Linux,自行選擇 Distribution 的話是沒有額外套件的乾淨映像

或者,在Ubuntu 16.04上預載套件的 One-click apps,如:Django 1.8.7 on 16.04

選擇收費方案,最便宜的5美金月費方案:
1CPU, 512MB RAM, 20GB SSD disk, 1000GB transfer

與香港最近的數據中心:新加坡

設立相對於 D.O. Domain 的主機名 (Hostname)

建立好你的 Droplet (雲端主機) 後,要使用這主機就需要用到Console平台下的Linux commands。打開自己電腦的 Terminal,一些簡本的指令包括 clear、pwd、ls、cd、mkdir、rmdir、touch、mv、rm、man、sudo、whois、exit,然後可以登入和資料同步:

# 用 SSH 遠端登入
ssh root@(your IP)

# 建立 root 以外,有 sudo 權限的用戶
adduser (username)
usermod -aG sudo (username)
su (username)

# 用 rsync 的 SSH 資料同步
rsync -avi --delete -e 'ssh -p 22' (local folder) (username)@(your IP):(remote folder)


Digital Ocean 的Support Community 寫了不少(太多)教學可以參考:
https://www.digitalocean.com/community/tutorials/how-to-use-the-django-one-click-install-image-for-ubuntu-16-04
https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-uwsgi-and-nginx-on-ubuntu-16-04

Hosingspeed

有了VPS寄存,別人要到訪你的網站時就不需要連結到你的電腦,只需要這個遠端主機的 IP 就可以。但實際上當然不會有人靠 IP 到你的網站,接下來就準備為這個遠端主機的 IP 地址,登記一個合適又易記的網址。網址的重要可以重溫幾個月前這則新聞:
網址長到睇唔過眼 IT男免費相助 中環旗袍小店老闆:感動到黐線

所以,下一步就先要找一個 Domain Name Register 註冊服務商 去登記網址。常見的選擇會有 GoDaddy 等等。但一些地區的頂級域名有管理的,例如頂級域名 .hk 是由 香港互聯網註冊管理有限公司(HKIRC) 專責執行註冊及管理工作,實際買的時候也是要透過其下之註冊服務機構提供,外國的一些主要公司不在選擇之列了,所見的都是一些香港或內地的公司。現時大約是 $250 年費,有首年優惠低於 $100

搜尋註冊商:
https://www.hkirc.hk/content.jsp?id=307&lang=zho


查詢域名是否已被使用:
whois (domain)
或者:


如果域名未有人使用的話,就可以登記一些個人資料和付年費購買。之後要進行一個域名解析 DNS Resolution 的步驟,令人輸入你的域名時會去到 DigitalOcean 中的 Droplet。這個要在登記商和 DO 兩邊做設定。DigitalOcean 有篇教學雖然內容沒有教 Hostingspeed 這個Domain Register的設定步驟,但做法大同小異:
https://www.digitalocean.com/community/tutorials/how-to-point-to-digitalocean-nameservers-from-common-domain-registrars
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-host-name-with-digitalocean

Hostingspeed.net > [客戶服務中心] > [轉換/更改域名名稱伺服器] > 填上 D.O. 的3個 nameservers (NS Record)

DigitalOcean > [Networking] > [Domains] > 填上所買的域名後按 [Add Domain]
為這域名加一筆 "A Record" ,指定域名到IPv4地址的對應記錄。


無論在這個 Server 上的更多套件設定 或是 Django框架中的內碼,從 Dev. 到 Prod. 仍有很多分別。這個稱為Deployment的過程,連同美術的部份仍在摸索中,往後再記。

2 則留言:


  1. I like this web site very much, Its a really webcare360.com nice
    billet to read and obtain info.

    回覆刪除
  2. Hey Thanks for sharing this blog it’s very helpful to implement in our work



    Regards

    Landscape Company In Mumbai

    回覆刪除