ECS使用体验,从小白到成功部署web项目+frp内网穿透

简介: 初次尝试使用ECS,在这两周时间体验内,我从完完全全的小白成长到能够部署一个web项目并学会使用frp内网穿透。在这篇文章中我将和大家分享我的成长经历和使用心得。

ECS使用体验,从小白到成功部署web项目+frp内网穿透

自我介绍

我是华中地区某211高校计算机科学与技术专业大二学生,一次非常偶然的机会让我接触到了阿里云飞天加速计划:在寒假期间我组装了一台nas,想要把nas挂在公网上方便我随时随地使用,苦于运营商不给公网ip,只能尝试购买云服务器并使用frp技术实现内网穿透,正巧在浏览阿里云网站的过程中发现了飞天计划——高校学生可以免费领取ECS!我赶紧提交使(白)用(嫖)申请,就这么敲开了ECS的大门

ECS使用心得

在未使用ECS之前,我一直认为云服务器会是什么特别炫酷而又高大上的玩意。而实际上,在这两周的体验下,我发现ECS不过就是一台远程主机,你可以给他安装操作系统(我安装了CentOS7),可以通过ssh远程连接,可以在云服务器上部署web项目......总之,对于我来说,ECS与寻常主机最大的区别就是它自带公网ip(笑死),因此ECS能胜任部署web项目和内网穿透等功能。

接下来我将向大家介绍如何在两周之内基本玩会ECS。

事前准备

其实两周的ECS体验时间是比较紧张的,为最大化利用这宝贵的体验时光,在正式体验ECS前我们应该考虑清楚自己的需求(即在这两周内想通过ECS实现哪些功能),并学习一些相关知识:

  1. Linux基本命令
  2. 一定的网络原理知识(如果你想实现内网穿透)
  3. 前后端相关知识(如果你想上线网站)

如果你已经掌握了使用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.png

如图,我把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.png

如图,我参考Nvidia官网仿制了一个RTX30系显卡主页,并部属在ECS上。

总结

玩ECS本质上就是通过远程连接的方式玩一台有公网ip的Linux主机,需要注意的点是记得开启安全组中的端口,有Linux基础的朋友能很快上手ECS。

还是非常感谢阿里云给了我们高校学生白嫖ECS的机会,希望以后我能继续折腾些好玩的技术,体验更多有意思的云服务。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
28天前
|
缓存 JSON 监控
如何在项目中保证 Web 组件化的性能
保证 Web 组件化的性能需要从多个方面入手,综合运用各种优化方法和策略。通过持续的优化和改进,能够提高组件化的整体性能,为用户提供更好的体验,同时也有助于提高项目的开发效率和质量。
40 8
|
28天前
|
存储 前端开发 JavaScript
如何在项目中高效地进行 Web 组件化开发
高效地进行 Web 组件化开发需要从多个方面入手,通过明确目标、合理规划、规范开发、加强测试等一系列措施,实现组件的高效管理和利用,从而提高项目的整体开发效率和质量,为用户提供更好的体验。
31 7
|
1月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
32 4
|
1月前
|
中间件 Go API
Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架
本文概述了Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架。
87 1
|
1月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
48 3
|
1月前
|
JavaScript 前端开发 开发工具
web项目规范配置(husky、eslint、lint-staged、commit)
通过上述配置,可以确保在Web项目开发过程中自动进行代码质量检查和规范化提交。Husky、ESLint、lint-staged和Commitlint共同作用,使得每次提交代码之前都会自动检查代码风格和语法问题,防止不符合规范的代码进入代码库。这不仅提高了代码质量,还保证了团队协作中的一致性。希望这些配置指南能帮助你建立高效的开发流程。
47 5
|
1月前
|
JavaScript 前端开发 数据安全/隐私保护
Web开发者必看:手把手教你如何轻松播放m3u8流地址,解锁视频播放新技能,让你的项目更上一层楼!
【10月更文挑战第23天】随着互联网技术的发展,m3u8格式因良好的兼容性和高压缩率被广泛用于网络流媒体传输。本文介绍如何在Web端播放m3u8流地址,包括引入视频播放器(如Video.js)、创建播放器容器、初始化播放器及播放m3u8流的具体步骤。此外,还涉及处理加密m3u8流的示例。
307 1
|
2月前
|
弹性计算 Java Linux
ECS使用体验的文章
ECS使用体验的文章
|
2月前
|
弹性计算 运维 安全
阿里云ecs使用体验
整了台服务器部署项目上线
|
2月前
|
弹性计算 运维 安全
阿里云ecs使用体验
整了台服务器部署项目上线