自我介绍
本人是数字媒体技术大三的学生,在知乎上看到阿里的学生服务器活动,遂慕名而来参加这个“高校学生在家实践”活动,重拾之前的小项目。
ECS小实践
0. 通过SSH连接ECS
由于不知道实例上root账户的初始密码,需要在云服务管理控制台的实例页面重置,如下图:
完成后在本地机连接ECS服务器:
ssh root@<公网ip,在云服务器管理控制台的实例页面查询>
连上后创建一个新账号,防止自己手残,安全一点
adduser <name>
为了方便连接ECS(不用背ip),在本地机的.ssh/config文件中写入以下配置
Host ali HostName <公网ip,在云服务器管理控制台的实例页面查询> Port 22 User <上面设置的name>
完成配置后,可以通过`ssh ali`访问,此外,还可以配置ssh免密登录,网上教程一大把。
1. 在本地机配置Pycharm远程连接ECS
本地机中通过git下载NTCS
# 下载django项目git clone https://github.com/ztingz/NTCS.git
下载后进入NTCS目录并用pycharm打开,配置SSH连接如下
基于SSH配置进行部署配置如下
在上图映射选项卡中配置远程路径后,完成部署配置,然后将NTCS项目上传到ECS上。
2. 在ECS上配置Django环境
上传完成后在ssh连接ECS,可以通过conda来管理需要的包
# 在本地机终端,传输miniconda安装包scp Miniconda3-py37_4.10.3-Linux-x86_64.sh ali:~/ ## 以下指令在连接ECS的SSH终端中执行 ### 执行miniconda安装程序bash Miniconda3-py37_4.10.3-Linux-x86_64.sh # 创建和启动conda环境,安装所需要的包如Djangocd NTCS conda env create -f env.yml # 创建一个名为NTCS的虚拟环境conda activate NTCS
将新建的NTCS环境下的python指定为Pycharm上NTCS项目的python解释器,如下
3. 配置Django项目外网访问
在pycharm中打开NTCS目录下的settings.py文件,将`ALLOWED_HOSTS = []`右侧中括号内以字符串格式写入ECS的公网IP。
完成后,启动pycharm的NTCS项目,程序开始运行,但是仍然无法通过ECS的公网IP和预设的端口访问,需要完成下面最后一步。
4. 配置ECS启动应用端口
NTCS的默认运行配置如下,执行端口是8022
在云服务器管理控制台的实例管理中选择安全组标签,配置规则
在入规则中配置如下
保存后,重新在Pycharm中启动NTCS,就可以顺利通过公网IP和8022端口访问网页。
小结
通过“高校学生在家实践”活动,我得以将自己做一些小项目之类的上传到云服务器上面,让朋友和同学们来看到自己的成果,这种感觉是非常棒的。