筆記, 配置阿里雲 Cumulo(ClojureScript) 臨時開發環境

我要在雲服務器上開發 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/610000.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 的文檔把先後端都啓動起來, 運行一個服務器.基本就完成了, 一個能夠在雲服務器上開發的環境, 同時在遠程實時預覽效果.

相關文章
相關標籤/搜索