Day 182 (Week26), 2021/10/10 (Sunday)
學習時數 9 hr
Done
- [done] FP API 規格書 + 將 API 更新到 AWS 上
To Do @ this week
- [x] Final Project RESTful API 部署
學習心得紀錄
Objective 客觀
apiary
今天研究了 apiary 怎麼使用,總算是寫好 users
、faq
的部分,因為在 response
的部分,先前都是回傳 status code 500 及 json 格式的內容,但是在 apiary 的文件上面就出現 warning: response status code 500 不應該重複,所以我就回去複習一下各個 status code 的意思,然後重新捋過一遍 users 跟 faq 回傳的 status code 要填寫多少。
慶幸朋友覺得這份文件寫的滿清楚的。原本還想要放到專案裡面,但是弄不太懂,就花了一兩小時在研究,但後來發現這個不是非常必要,所以就先擱著,將朋友先加入共編,讓朋友也可以一起觀看。
在 AWS 更新 API
這是第一次在 AWS 上更新,上一次做是第一次將 RESTful API 部署到 AWS 上,然後今天在更新的時候,發現一些小錯誤,變成 Bad Gateway 502
,找了好多種方法,但是都不太對,查了好久是不是 nginx.conf
哪裡有誤,或者是 pm2 list
為什麼 status
為 error
,後來才在 pm2 log
裡面發現:原來是我的 index.js
裡面發生錯誤,因為找不到 faq_category.js
的相關檔案,所以 run 不起來,修改好後,就能跑了。
但是後來還發現資料庫的連線位置不太對,我期望的是連到 production mode 的 ubuntu mysql,但實際上連到的是 development 的 localhost database,後來改成 production mode 的方法是將 NODE_ENV=production
放到 .env
檔案裡面。
經過今晚的處理,才發現:一開始在部署時,我只按照著影片作,然後自己要在 AWS 更新 API 時,突然發現:咦?到底是要怎麼更新?後來發現是 clone 專案到 ubuntu 後,再來 pm2 restart
在背景重跑後,就可以更新。
gitHub 與 git 的老問題
自己有本地端的 final project file,以及 AWS ubuntu 的 final project file,然後就發生了一些版本衝突。因為平常都是乖乖照著交作業的步驟去 push 然後 pull,所以基本上沒遇到什麼問題。但是當自己照著自己的想法來時,就會發生錯誤,之後要來研究一下到底發生什麼錯誤,會導致這樣的一個問題發生。
感受
萬事起頭難,今天在小修 faq 的新增、刪除、編輯時,發現都是差不多的概念,應該後面會順暢許多吧!
Decisional 決定行動
明天請朋友測試一下加入 isChecked token 的功能,然後繼續思考 isAmdin 的權限管理,還有商品的部分。