ECS使用体验,从小白到成功部署web项目+frp内网穿透
自我介绍
我是华中地区某211高校计算机科学与技术专业大二学生,一次非常偶然的机会让我接触到了阿里云飞天加速计划:在寒假期间我组装了一台nas,想要把nas挂在公网上方便我随时随地使用,苦于运营商不给公网ip,只能尝试购买云服务器并使用frp技术实现内网穿透,正巧在浏览阿里云网站的过程中发现了飞天计划——高校学生可以免费领取ECS!我赶紧提交使(白)用(嫖)申请,就这么敲开了ECS的大门
ECS使用心得
在未使用ECS之前,我一直认为云服务器会是什么特别炫酷而又高大上的玩意。而实际上,在这两周的体验下,我发现ECS不过就是一台远程主机,你可以给他安装操作系统(我安装了CentOS7),可以通过ssh远程连接,可以在云服务器上部署web项目......总之,对于我来说,ECS与寻常主机最大的区别就是它自带公网ip(笑死),因此ECS能胜任部署web项目和内网穿透等功能。
接下来我将向大家介绍如何在两周之内基本玩会ECS。
事前准备
其实两周的ECS体验时间是比较紧张的,为最大化利用这宝贵的体验时光,在正式体验ECS前我们应该考虑清楚自己的需求(即在这两周内想通过ECS实现哪些功能),并学习一些相关知识:
- Linux基本命令
- 一定的网络原理知识(如果你想实现内网穿透)
- 前后端相关知识(如果你想上线网站)
如果你已经掌握了使用ECS的必备知识,那么建议你在申请飞天计划前先去尝试一下阿里云场景体验功能,基本上体验了几个场景就能上手阿里云,避免在宝贵的ECS体验时间内还要从头开始摸索。
正式使用
白嫖来的ECS能在控制台->实例中找到。首先我们应该安装系统,阿里云提供了很多操作系统,任选一个你熟悉的安装就可以(我安装的是CentOS7)。配置好系统后,应去配置安全组,开启ssh连接(22端口),这样就可以通过ssh工具来远程连接了,操作上会方便许多。使用ssh工具连接ECS后,接下来的操作其实就是操作linux了,唯一的不同是ECS拥有公网ip
内网穿透
总体思路是下载frp,再分别配置客户端和服务端。客户端(我是nas,系统TrueNAS)配置好密码并设置自启动就可以了。ECS服务端CentOS自带了git,可以直接git clone下载frp,然后修改配置文件(写好端口映射关系!),编写脚本设置frp开机自启动。完成frp配置后记得一定要在ECS安全组中把配置中用到的端口设置为开启,否则无法访问。
如图,我把jellyfin映射出来,可惜带宽只有1M卡到根本看不了
部署web项目
我没有选择java web项目,主要是觉得写一个小小的项目用java有点大炮打蚊子的感觉(好吧我就是懒不想配那么多环境),于是选择了轻量级的python+flask作为后端。CentOS自带python2,而后端代码是基于python3的,于是部署web项目可以分三步走:配好python3环境,导入后端代码,设置开机自启动。注意yum需要用到python2,因此配置python3的时候记得修改yum的配置文件使python2保持可用。
flask项目简单的地方就是,.sh脚本中只需要执行后端的.py文件就好,如果是java web项目,可能还要配制tomcat,启动tomcat,再启动java后端(当然如果用像jfinal什么的就不需要这么麻烦了)
如图,我参考Nvidia官网仿制了一个RTX30系显卡主页,并部属在ECS上。
总结
玩ECS本质上就是通过远程连接的方式玩一台有公网ip的Linux主机,需要注意的点是记得开启安全组中的端口,有Linux基础的朋友能很快上手ECS。
还是非常感谢阿里云给了我们高校学生白嫖ECS的机会,希望以后我能继续折腾些好玩的技术,体验更多有意思的云服务。