本人介绍
本人身为大一自动化专业的萌新,十分有自知之明,那就是之前申请服务器肯定啥都不学不到——就开放服务器的短短两周,连Linux怎么用都学不会。
所以,在经过上半学期的学习后,我才毅然的进入云部署程序的大门(keng)。深刻体会到了:为啥这程序我能运行,咋放到别人这就运行不了的哲学深思之中。
云计算平台选择
而在了解云计算的布局之后,对于供应商的选择基本就是三大类,阿里云为首的国内大型云供应商,Azure等国外云供应商,一众小的云供应商。而其中只有去前两者对于学生有特别的算力和政策提供,那我肯定愿意选择前两者。而没有对于国外的访问需求,让我基本将目光锁定在了国内头部云供应商。
阿里云,腾讯云,百度云和华为云是我了解的几个打的供应商,而腾讯和百度的产品在日常使用过程中,实在是太过“成功”,让我对着两家的印象彻底败坏。基本就是在阿里云和华为云中抉择,而华为这几年经历制裁,B2B端的云服务仍然坚挺,但是对于B2C端的华为云还是有点高攀不起,价格属实感人。所以,综合各方考量,还是阿里云的产品更符合我,而在学生认证的过程中才发现了飞天计划,我还以为前几年就没有了。才有了这次ECS的学习之旅。
ECS部署后,折腾服务器(wo)
部署编译环境
拿到ECS后果断选择Ubuntu,Ubuntu好就好在不会像CentOS那么老旧,也不会像Windows那样由于渲染图形吃掉大量资源。最主要的就是,其他的我不会啊,虽然之前学过Linux,但也是基于Ubuntu 20.04LTS的图形化系统再开终端和tty学习的,和全命令行控制的服务器相去甚远。
但是要干的活还是要干的,Python的Anaconda环境就很不错哦,可惜因为用户路径的问题导致最后装conda的经历不如直接重装Python,所以就先将就用。
Java的环境倒还是很好配置,下载好甲骨文官网的jdk安装包,安装成功后再进bashrc修改好环境,那么就可以通过命令快速切换了。
然后c++和c,不装了,没有图形化的界面,VSCode也装不了,所以就本地编辑以后,通过vim修改所有文件吧,也是锻(shou)炼(ku)的一种方式。
部署MC服务器
ECS到手,肯定要试试mc服务器啊,之前看了很多教程,都是说如何9.9开个MC服务器的,那我这肯定要锻炼一下啊。
主要流程和下java的安装包类似,只不过下到本地的server.jar需要额外参数启动,然后退出,用vim打开eula协议同意。然后在进入终端运行就行了。
这里因为服务器输出的内容过多,所以用screen控制命令行的多窗口。但是经过实测后,使用screen的弊端就是,你不!知!道!你在哪?!经常screen -R返回,我怎么回不去???给你气的回到终端重启,然后发现,啊,我打开的姿势不大对。
所以直接用阿里云的设置开多终端,解决烦恼,但是也不知道咋的,我本地ping服务器就34ms,一进游戏干到1000ms+还老波动,我估计是因为服务器不堪重负,分出来资源计算游戏,就没办法转发了。所以可玩性也不强,就下一个项目吧。
部署QQ机器人
到这里也是最恼人的地方了,因为这方面都是从头做起,我使用的是go_cqhttp+nonebot实现的,因为我之前用的windows平台部署,所以Ubuntu的路径用不了,环境也用不了得重新配,windows的路径是"\\",Ubuntu是'/'等各种各样的bug,到目前为止还有很多bug没修完,
(续)
现在bug基本修完了,基本上都是因为Windows和Ubuntu的文件管理路径有问题,在WIndows中以'\'分割路径而Ubuntu中'/'为基础分割。
剩下的就是Python环境的问题了,都不是很大的问题,将缺少的库下好就行了。
部署Jupyter服务器
在部署qq机器人的过程中,git很好用,但是后期运维就不是很美妙了。没有gui的系统十分难以理解,并且vim并不能分块测试程序,而jupyter notebook作为以服务器为基础的编译器就十分的好用。在设置完基础设置,开放8888端口就可以在本地通过公网ip连接到云端的jupyter notebook,上传下载,在线编辑,甚至连文件管理都好用了起来(除了还是无法管理.开头的隐藏文件)
下一步如果需要编译java和c++之类的内容,我会考虑再部署一个vscode服务器,虽然我一点都没有了解。
后记
因为在写这篇文章的时候,我的服务器也才到手两天,所以对于功能肯定还在挖掘。比如网站和博客,就目前的疫情形式和个人的需求而言,备案肯定是来不及,并且不需要的。因为个人还是偏向云计算和离线运行应用的方向,写教程还是不太适合我,毕竟我自己的水平也不是很高,仍需要大量的学习。并且编程的主力语言更加偏向Python和C++,这俩语言写博客,真的是令人泪目( Ĭ ^ Ĭ )
所以,本篇文章还可能不定期更新,并在不断完善过程中,如果各位有什么建议,欢迎指正。