我想在云服务器上开发Cumulo的服务,基于Node和shadow-cljs运行。刚刚发现阿里云有按小时租用服务器的设置。感觉我以前的服务器太慢了,我试试看。我遇到的问题是之前的服务器选择。香港节点发现网络还是有点延迟,配置低。考虑到大部分时间是闲置的,不好意思买个高价,但是对于shadow-cljs来说太少了,因为ClojureScript编译需要Java,冷启动很耗CPU。运行内存,我考虑至少3G内存和双核CPU,应该够用了。之前的服务器是共享的,估计是有限制的。我的CPU会继续跑半分钟,就没有反应了。提交工单仍未解决。我只是我能想到购买另一台服务器,这是开发所需的。先初始化服务器,在阿里云界面选择并配置网络,新建一台机器,华东2机房,出于习惯我选择了Ubuntu,里面的操作命令我比较熟悉,创建需要几分钟,完成后您会收到一条短信。机器创建好了,需要重新设置密码,所以重新设置密码,然后重启服务器生效,用root登录,然后用adduser命令创建自己的用户。visudo修改权限,登录新用户。安装依赖shadow-cljs,运行依赖JDK,所以需要安装一份,8版即可,mosh处理SSH连接断开,安装后需要在服务器上启动mosh-server.sudoapt-getupdatesudoapt-getinstallaptitudesudoaptitudeinstallgitopenjdk-8-jdkmosh参考官方文档,安装Node.js:curl-sLhttps://deb.nodesource.com/setup_8.x|sudo-Ebash-sudoapt-getinstall-ynodejs参考官方文档,安装yarncurl-sShttps://dl.yarnpkg.com/debian/pubkey.gpg|sudoapt-keyadd-echo"debhttps://dl.yarnpkg.com/debian/stablemain"|sudotee/etc/apt/sources.list.d/yarn.listsudoapt-getupdate&&sudoapt-getinstallyarn最后安装自己的编辑器来编辑代码:sudonpmi-gcalcit-editor配置环境然后运行ssh-copy-id方便登录将本地公钥复制到服务器。如前所述,服务器已经运行了mosh-server,您应该可以在本地使用mosh命令登录。但是,当前的安全策略尚不可用。Mosh使用UDP协议,需要配置安全策略。在“安全组规则”中,允许UDP60000/61000从0.0.0.0/0访问。除了UDP端口,shadow-cljs还有7000、9630这几个端口,而calcit-editor使用了6001、6002等端口,都需要加上,考虑到我的服务器和WebSocket使用的是奇怪的5021端口,而且范围将扩大。我直接在“安全组规则”里面打开了所有相关scope然后需要一个/data/目录存放数据,自己创建:sudomkdir/datasudochown-Rchen:chen/data另外两个遇到奇怪的权限需要修改的,这个路径可能是root帮我创建的。sudochown-Rchen:chen/home/chen/.config/然后就是在服务器上使用Git,生成公钥的初始配置,在GitHub上添加:gitconfig--globaluser.emailjiyinyiyong@gmail.comgitconfig--globaluser.namejiyinyiyongssh-keygencat~/.ssh/id_rsa.pub运行服务后就是Cumulo项目相关的具体内容,比如当前应用:gitclonegit@github.com:TopixIM/impatiens.git然后CumuloWorkflow文件启动前后端,Runaserver。基本完成,一个可以在云服务器上开发的环境,同时可以远程实时预览效果。
