我要在云服务器上开发 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 的文档把先后端都启动起来, 运行一个服务器.基本就完成了, 一个能够在云服务器上开发的环境, 同时在远程实时预览效果.