我是一名大二的学生,专业是地理信息科学,因为在平常做项目时可能会用到云服务器,而且听很多人说阿里云的性价比比较高,于是就来到了阿里云,然后又听说有“飞天加速计划·高校学生在家实践”活动,就直接过来参加了。
首先我的需求是在云服务器上部署我在本地写的一个django的测试代码,最开始的时候对系统这方面的事情不太了解,想也没想直接用的windows server的镜像,之后发现windows没有办法使用uwsgi,于是导致第一次重装系统,改为了ubuntu20。之后上网查找了攻略,大部分人用的时uwsgi+nginx对django项目进行部署,于是我也打算使用这种方法进行部署。
在正式开始之前,推荐使用一个工具:xftp,可以很大程度上提高本地windows系统下和云服务器端(ubuntu)文件的传输,而且可以避免使用git,本人亲测有效,可以直接把本地的django项目的文件夹直接拖拽上传到云服务器的文件夹下(我的是/home),一样可以使用。而且如果你不记得你的文件具体存放在哪里(云服务器端基本上都是控制台直接进行控制,可视性不是太好,有可能忘记把文件存在哪里了),你完全可以使用xftp的页面进行查找,也非常的方便易用。
正式开始部署,一定要注意你的ubuntu的系统版本,因为它本身会自带python的解释器(ubuntu20应该自带的是pyton2.7和3.8,ubuntu16应该是pyhton2.5和3.5),但是我的本地是python3.7。第一次使用的时候根本没有注意到这些,直接开始安装uwsgi和nginx,最后把系统弄得一团糟,只能重装系统,这是我的第二次重装系统,安装了16,但是也遇到了问题,解决办法可以看看我写的一篇csdn(用户名:XFIRR)的文章,里面记录了相关的一些情况。
最后第三次重装,安装了18,总算解决了python版本的问题。当然这还只是开始,还需要注意虚拟环境的创建还有mysql(如果使用的是django自带的sqlite就不用管这个)的一些配置,一定要注意安装mysqlclient之前一定要先pip3 install libmysqlclient-dev如果还有错误可以尝试apt-get install python3.7-dev,我的在安装了这另外两个库之后就可以正常使用mysqlclient了。
通过“高校学生在家实践”活动让我知道了云服务器的一些相关配置,以及linux系统的使用方法,推荐大家先去使用阿里云提供的官方实验平台,完成实验,这样在开展真正的项目时会极大程度上降低上手的难度。目前还只是部署了一个django的测试项目,以后在部署真正的项目时肯定会遇到更多的困难,还需要不断努力,突破自我,相信问题都是可以解决的。
当然,可以看下我部署成功之后的登陆页面截图,是没有注册按钮的,但是数据库里存放了登录的用户名和密码。