iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 29
2
Modern Web

Half-Stack Developer 養成計畫系列 第 29

把你的親生兒子公諸於世:VPS

  • 分享至 

  • xImage
  •  

把你的親生兒子公諸於世:VPS

終於來到故事的尾聲。雖然你一步步根據前面的步驟做出來的產品不怎麼樣,但我們還是要試圖把它放到一個讓大家都看得到的地方。你才能跟你朋友炫耀:欸欸,你看,這個是我自己寫出來的東西。

但在這之前,有些基礎知識你必須要知道。

首先呢,之前我們有講過,網頁有分兩種:動態的跟靜態的,靜態就像是 HTML, CSS, JavaScript 或是圖片那些檔案,是不會變的。動態的就是你寫的 Server 所 render 出的那些 response。總之呢,就是由伺服器那邊產生出來的內容。

如果是純靜態的網頁,其實你可以用一些現成的服務來放,例如說 Github 就有支援,而且還完全免費!或者是去用一些免費空間,像是 Dropbox 就可以放這些靜態檔案。

除此之外呢,就是要花錢租主機啦(先不談一些免費的服務)。主機有分三種:虛擬主機、VPS、實體主機。

虛擬主機

這個就是最便宜的了,其實就跟 Dropbox 差不多,有個地方能夠讓你放檔案而已。但比較好一點的會可以讓你跑 PHP 或是 Rails 之類的程式碼,這邊要看供應商有沒有支援。你要租網頁空間的話,通常一年三五百台幣就很夠用了。我自己有租過的是這個,可以跑 PHP,也可以用提供好的程式架一些現成的軟體上去,例如說 Joomla, Wordpress 之類的。

如果你只租這個,你對你的主機沒有「完全的操控權」,你只能透過他們提供的後台修改一些資料或是設定而已。

VPS

全名叫做:Virtual Private Server,你就想成是一台實體主機上面開著一些軟體可以切割出很多小的主機,其中一台上面就是你的。你可以透過 ssh 連線到主機上面,然後裝一些你想要的東西,想裝什麼都可以,你對主機有完全的控制權。我們一般在租的 Amazon Web Service或者是DigitalOcean都屬於這種。

價格滿多都是按月計算,最便宜的可以到一個月 5 塊美金,然後你在上面想要裝什麼都可以。最推薦初學者的就是這個。

實體主機

這個就不用多說了,就是花錢租一台真正的主機。也就是租一台真的電腦啦!

今天要特別來講的就是 VPS,因為它實在是很方便。例如說你可以自己選擇你的主機要放在哪裡,一般來說因為地緣關係,都會選擇放在日本東京,台灣連線的速度會比較快一點。當然如果有台灣可以選是最好,但是很多公司在台灣都沒有自己的機房。

AWS(Amazon Web Service)EC2 目前應該是市佔率最高的 VPS 服務,其他比較有名的還有 Google cloud, DigitalOcean, 或是 linode,你可以自己挑一個你喜歡的。我目前是有用 AWS 跟 DigitalOcean,之前工作有用過 Google cloud,但 linode 則是完全沒用過。

在這邊推薦大家可以一個月花五塊錢美金租個 DigitalOcean 的主機來玩玩看,或者如果你不想花錢,AWS 有提供第一年免費的超划算方案,但並不是所有服務都免費,你只能在上面開一台機器而已。

至於怎麼開一台機器,這個就要靠你們自己去找教學了,但是真的不難啦,看著教學一步步操作就會了。作業系統可以選 ubuntu,總之不要選 windows 就對了。

AWS 上面負責 VPS 的服務叫做 EC2,除此之外還有一大堆玲琅滿目的服務,你想做什麼幾乎上面都有,像是資料庫、DNS 管理、防火牆、Mail Server 等等...

這邊附上一張 EC2 後台的樣子:
http://ithelp.ithome.com.tw/upload/images/20170105/20091346X5eOiwo0No.png

最後,附上你應該怎麼把你的程式 deploy 的簡單條列概要:

  1. 租一台主機,拿到 ip
  2. 利用 ssh 指令連進去你的機器
  3. 安裝 nginx, nodejs
  4. 把你的程式碼用 git 或是 scp, rsync 這兩個指令傳到 server 上
  5. 寫好 nginx config,用 pm2 執行檔案(這邊我忘記講了...請大家自行參考官方文件
  6. 買一個 domain
  7. 把 domain 指到你的 IP
  8. 大功告成!

大概就這幾個步驟,你就可以順利成功發佈了。雖然看似簡單,但第一次做其實也不太容易。在這邊就先祝大家順利了!

ps.
今天突然看到一篇好文,跟大家分享:十分鐘讓程式人搞懂雲端平台與技術


上一篇
俄羅斯不愧是戰鬥民族:nginx
下一篇
那些來不及說出口的話
系列文
Half-Stack Developer 養成計畫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言