Sync Spotify Status! Using Compute Engine and NodeJS - Second
David / 2022-05-06
Table of Contents
最近在規劃新的個人網站,正好看到 Lee Robinson 的網站有做這個功能,想說我也來做做看,以下跟大家分享實作過程。
上一篇我們已經能在 local 能夠取得聆聽資訊了,這篇我們要來部署到 compute engine 上 (不使用 cloud function 的原因是我懶得再改程式碼了…不然應該可以輕量化一點的)
移植到 compute engine 上
首先要先創建一個 VM,到 這裡 創建。 可以看到下面的樣子
名字可以照喜好填,但如果要免費使用的話機器種類要照著圖片的選取,並且開機磁碟要選擇『標準永久磁碟』,並且最高是30G,像下面那樣。
正確的話右邊估價的側邊欄會長這樣子
雖然估價感覺要付錢,但結算的時候系統會自動折抵掉。
接下來等個三分鐘左右就可以看到機器跑好了,可以看到下面的畫面。
點右邊那個 ssh 就可以用 GCP 的 ssh 直接連線這台 VM。
接著就要先安裝 node 跟 npm。
sudo apt-get update sudo apt-get install nodejs npm
接著可以創建一個新資料夾,並在裡面開啟新的 npm 專案
mkdir "your_project_name" cd "your_project_name" npm init #然後接著照他的提示輸入資訊
好了之後就可以看到這個資料夾裡有一個 package.json 了,我們接著新增一個 server.js 然後把上一篇的程式碼貼近去。 同時也要記得裝 express
echo server.js npm express
貼近去之後就可以執行啦
npm run start
設定 Nginx 伺服器
接著我們要讓外面能夠連結我們的 vm,所以用 Nginx 來當作入口。
sudo apt-get install -y nginx cd /etc/nginx/sites-available sudo nano default
修改成下面這樣
server {
listen 80;
server_name YOUR_SERVERS_IP_ADDRESS;
location / {
proxy_pass "http://127.0.0.1:8080";
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
}
}接著重開服務
sudo service nginx restart
然後你就可以用 VM 的 ip 加上自己設定的路徑來取得現在的聽歌資訊,像下圖:
這樣就大功告成啦!!!
後續學習
- 串接到自己的個人網站。
- 可以研究怎麼把連線升級為 https。