我要在雲服務器上開發 Cumulo 的服務, 基於 Node 和 shadow-cljs 運行,
剛發現阿里雲有按小時租賃服務器的設置, 感受本身之前的服務器太慢, 就試試,node
此前服務器選擇香港節點, 發現網絡仍是有點延時, 另外配置較低,
考慮到大部分時間閒置, 很差意思買很高, 可是對於 shadow-cljs 來講太少,
由於 ClojureScript 編譯須要 Java, 冷啓動吃 CPU, 運行吃內存,
我考慮至少 3G 內存, 雙核 CPU, 那樣應該夠的.git
以前的服務器是共享的, 估計有限制, 我 CPU 持續跑滿半分鐘, 就會無響應,
提交工單仍是沒解決, 我只能想到再買個服務器了, 開發須要.github
首先, 在阿里雲的界面裏選擇好配置了網絡, 建立新的機器, 華東2機房,
我出於習慣選擇了 Ubuntu, 裏面的操做命令我比較熟悉,
建立須要幾分鐘, 完成以後會收到短信提示, 機器建立完成, 須要重置密碼,
因而就重置密碼, 而後還要重啓服務器才能生效, 用 root
登陸,
而後 adduser
命令建立本身的用戶, visudo
修改權限, 登陸新用戶.npm
shadow-cljs 運行依賴 JDK, 因此要安裝一份, 版本 8 就好,
mosh 是處理 SSH 鏈接斷網的, 安裝後在服務器須要啓動一下 mosh-server.後端
sudo apt-get update sudo apt-get install aptitude sudo aptitude install git openjdk-8-jdk mosh
參考官方文檔, 安裝 Node.js :安全
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs
參考官方文檔, 安裝 yarnbash
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt-get update && sudo apt-get install yarn
最後安裝一下本身的編輯器, 用來編輯代碼:服務器
sudo npm i -g calcit-editor
而後爲了方便登陸, 運行一下 ssh-copy-id
拷貝本地的公鑰到服務器.
前面說了服務器已經有 mosh-server
在運行, 本地應該是能夠用 mosh 命令登陸的.
不過, 當前的安全策略還不能夠, Mosh 採用 UDP 協議, 須要配置安全策略,
在"安全組規則"裏面, 容許 UDP 60000/61000
從 0.0.0.0/0
訪問.網絡
除了 UDP 端口, shadow-cljs 相關還有 7000
, 9630
, 這些端口,
而 calcit-editor 用到 6001
6002
等等端口, 都須要加上,
考慮到個人服務器還有 WebSocket 用到 5021 這個奇怪的端口, 範圍還要擴大.
我是直接在"安全組規則"把全部相關範圍都開啓了的ssh
而後我須要有個 /data/
目錄存放數據, 本身建立:
sudo mkdir /data sudo chown -R chen:chen /data
另外兩次碰到須要修改奇怪的權限, 這個路徑多是 root
給我建立的.
sudo chown -R chen:chen /home/chen/.config/
而後就是在服務器上使用 Git 的初始配置, 以及生成公鑰, 添加到 GitHub:
git config --global user.email jiyinyiyong@gmail.com git config --global user.name jiyinyiyong ssh-keygen cat ~/.ssh/id_rsa.pub
後面就是具體到 Cumulo 項目相關的內容了, 好比當前的應用:
git clone git@github.com:TopixIM/impatiens.git
而後 Cumulo Workflow 的文檔把先後端都啓動起來, 運行一個服務器.基本就完成了, 一個能夠在雲服務器上開發的環境, 同時在遠程實時預覽效果.