本人是一名研二学生,就读于西南交通大学,所学专业为测绘科学与技术,方向为地图学与地理信息系统。研一期间,我跟随导师做项目,学习WebGIS相关内容,结合基于python的Flask后端与基于Vue的前端框架,搭建了一个地理要素信息综合挖掘系统。该系统旨在帮助GIS从业者甚至无相关经验的普通用户,在Web端实现要素采集、要素编辑及要素属性挖掘等简单的GIS操作,免去安装软件带来的种种困扰,享受Web端带来的便利。
为达到目的,自然需要将该系统通过服务器发布到公网上,供大家使用。之前在师兄们的帮助下才得以完成,现如今,我需要通过自己的努力来完成这一任务,因此,我找到了阿里云服务器的官网,接触到了飞天加速计划,开始了全新的体验。
我领用的服务器使用的是Ubuntu系统,与平时常用的Windows系统大为不同。因此,我首先安装了Xshell7和Xftp7,分别用于 输入命令操纵服务器 和 本机与服务器间的文件传输,以便快速上手该系统的操作。为实现flask项目在云服务器的部署,我在网上查阅了大量资料,最终在b站上找到了十分详细的教程。从安装Nginx实现公网IP访问、到安装virtualenvwrapper实现python虚拟环境的配置(此处的error整的让我头疼了好久QAQ,最终还是跟着大佬修改了配置得以解决)、再到使用Xftp将flask项目传输到服务器(或可通过git仓库直接拉取)并安装相关第三方库,最终将flask项目的host从localhost改为0.0.0.0即可完成整个项目的部署,当然,此处注意涉及端口的开放,需要在ESC实例的安全组中进行配置。
除了项目的部署之外,还需要对数据库及其他相关静态文件进行部署。我们开发的系统使用的是postgresql数据库,因其空间操作相关的扩展——postgis功能十分强大。查阅相关内容 ,我一步步地完成了postgresql及postgis的安装及配置,包括安全组配置、修改数据库密码、监听地址和可访问的IP段等,实现了pgAdmin的远程连接,并将数据从本地导入了服务器。至于其他的静态资源,需要上传至服务器后,通过配置Nginx的代理路径实现访问,但由于文件体量较大,服务器暂时无法存储,之后会继续思考改进。
至此,我们开发的地理要素信息综合挖掘系统已成功部署至服务器,并可通过公网IP进行访问。虽然技术实现上没有难度,对ESC的理解还仅是皮毛,但第一个项目的成功部署给了我很大的成就感,也让我对ESC产生了更加浓厚的兴趣。我深知后面还有很长的路要走,感谢飞天加速计划给予我这次宝贵的机会,我一定会深入钻研,提高能力,向更多的人分享我们的劳动成果,为大家带来便利!