為老闆娘做網頁,自從寫好基本的網頁框架,就把它放下了一段日子,十二月尾至一月初忙著做線下的工作,為訂單起貨。現在網頁仍欠一些產品照和字型配色等的外觀設計,還有要等待和店主討論希望如何展示定價和包裝等等。在這個等待的時候,為了準備之後的正式部署上線,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的過程,連同美術的部份仍在摸索中,往後再記。
回覆刪除I like this web site very much, Its a really webcare360.com nice
billet to read and obtain info.
Hey Thanks for sharing this blog it’s very helpful to implement in our work
回覆刪除Regards
Landscape Company In Mumbai