在 HTML 執行 WASM
若要在 HTML 執行 WASM,會出現 ReferenceError: SharedArrayBuffer is not defined
錯誤,可由 Nginx 送出適當的 header 解決。
失くすものさえない今が強くなるチャンスよ
若要在 HTML 執行 WASM,會出現 ReferenceError: SharedArrayBuffer is not defined
錯誤,可由 Nginx 送出適當的 header 解決。
Nginx 為在 Linux 上常用的 Web Server,也可原生地跑在 macOS。
If we want to use Microservice architecture, we will build Nginx, Express, PostgreSQL images first, and then use Docker Compose to run Nginx, Express, PostgreSQL at once.
若要使用 Microservice 架構,則會各自將 Vue 與 Express 包成 Docker Image,然後使用 Docker Compose 一次啟動 Vue 與 Express,此時 Express 會包在 Docker 內部網路,Vue 需使用 Nginx 的 Reverse Proxy 才能連上 Express。
在 Microservice 架構下,理論上 Nginx 與 Node 應該各自放在不同 Container 下,但有時 API 就是要控制 Nginx 或其他執行檔如 FFmpeg,此時將 Node 與 Nginx 包在同一個 Image 會更方便。
Nginx + FFmpeg 雖然能在 Ubuntu 下實現將 RSTP 轉成 HLS,若能包成 Docker Image,則其他電腦也能輕易使用此 Server,或者 Deploy 到 K8S。
實務上 Vue 不見得都放在 Domain 的 Root-path,而是放在 Sub-path,在 Vue CLI、Nginx 與 docker-compose.yml
都必須特別設定。
若只將 Vue Deploy 到單一 Domain 則比較單純,但若是 Domain 的 Sub-Path,則 Vue CLI 與 Nginx 都需要加上其他設定。
實務上會遇到有些 API 並沒有開放 CORS,或希望所有 API 統一由 Web Server 出去,此時可利用 Nginx 提供 Reverse Proxy,並自行擴充 NPM Script,最後只要下 yarn docker
就可一鍵建立 Docker Image。
Vue CLI 提供 yarn build
將 HTML / CSS / JS 編譯到 dist
目錄下,我們可利用 Nginx 當 Web Server,並自行擴充 NPM Script,最後只要下 yarn docker
就可一鍵建立 Docker Image。
若要在 CI 以 Cypress 測試 Vue,勢必面對 Cypress Dependency 與 Web Server 執行 Vue 問題,我們可透過 docker compose
同時執行 Cypress 與 Nginx 兩個 Container 進行測試。
若要使用 Nginx 的 nginx-rtmp-module
,需要自行下載 source code 並重新編譯 Nginx,本文記錄其編譯過程。
Nginx 的 Source Code 除了能在 Linux 編譯外,也能完全不用修改在 macOS 編譯。
除了使用 apt
安裝 Nginx 外,也可直接下載其 source 自行編譯。
若要使用 Microservice 架構,則會各自將 Vue 與 Node 包成 Docker Image,然後使用 Docker Compose 一次啟動 Vue 與 Node,此時 Node 會包在 Docker 內部網路,Vue 需使用 Nginx 的 Reverse Proxy 才能連上 Node。