Pycharm远程ECS部署Django小项目

简介: 本文完成了一个简易的Django项目的部署,ECS上选用的系统是Ubuntu,所用的Django项目是笔者本科期间的课程设计,详见https://github.com/ztingz/NTCS

自我介绍

本人是数字媒体技术大三的学生,在知乎上看到阿里的学生服务器活动,遂慕名而来参加这个“高校学生在家实践”活动,重拾之前的小项目。

ECS小实践

0. 通过SSH连接ECS

由于不知道实例上root账户的初始密码,需要在云服务管理控制台的实例页面重置,如下图:

image.png

完成后在本地机连接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连接如下image.png

基于SSH配置进行部署配置如下

image.png

在上图映射选项卡中配置远程路径后,完成部署配置,然后将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解释器,如下

image.png

3. 配置Django项目外网访问

在pycharm中打开NTCS目录下的settings.py文件,将`ALLOWED_HOSTS = []`右侧中括号内以字符串格式写入ECS的公网IP。

完成后,启动pycharm的NTCS项目,程序开始运行,但是仍然无法通过ECS的公网IP和预设的端口访问,需要完成下面最后一步。

4. 配置ECS启动应用端口

NTCS的默认运行配置如下,执行端口是8022

image.png

在云服务器管理控制台的实例管理中选择安全组标签,配置规则

image.png

在入规则中配置如下

image.png

保存后,重新在Pycharm中启动NTCS,就可以顺利通过公网IP和8022端口访问网页。

image.png

image.png

image.png

小结

通过“高校学生在家实践”活动,我得以将自己做一些小项目之类的上传到云服务器上面,让朋友和同学们来看到自己的成果,这种感觉是非常棒的。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
JavaScript 前端开发 应用服务中间件
【Vue面试题三十】、vue项目本地开发完成后部署到服务器后报404是什么原因呢?
这篇文章分析了Vue项目在服务器部署后出现404错误的原因,主要是由于history路由模式下服务器缺少对单页应用的支持,并提供了通过修改nginx配置使用`try_files`指令重定向所有请求到`index.html`的解决方案。
【Vue面试题三十】、vue项目本地开发完成后部署到服务器后报404是什么原因呢?
|
2月前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
4月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
902 3
|
4月前
|
IDE 网络安全 开发工具
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。
1848 0
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
|
4月前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
739 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
5月前
|
设计模式 数据库连接 PHP
PHP中的设计模式:如何提高代码的可维护性与扩展性在软件开发领域,PHP 是一种广泛使用的服务器端脚本语言。随着项目规模的扩大和复杂性的增加,保持代码的可维护性和可扩展性变得越来越重要。本文将探讨 PHP 中的设计模式,并通过实例展示如何应用这些模式来提高代码质量。
设计模式是经过验证的解决软件设计问题的方法。它们不是具体的代码,而是一种编码和设计经验的总结。在PHP开发中,合理地使用设计模式可以显著提高代码的可维护性、复用性和扩展性。本文将介绍几种常见的设计模式,包括单例模式、工厂模式和观察者模式,并通过具体的例子展示如何在PHP项目中应用这些模式。
|
4月前
|
监控 应用服务中间件 网络安全
部署Django应用:使用Gunicorn和Nginx构建高效的生产环境
部署Django应用:使用Gunicorn和Nginx构建高效的生产环境
277 0
|
4月前
|
前端开发 Java Shell
后端项目打包上传服务器部署运行记录
后端项目打包上传服务器部署运行记录
108 0
|
6月前
|
关系型数据库 MySQL Java
腾讯云服务器的使用、服务器中使用Docker安装常见的软件、如何将一个项目发布到服务器
这篇文章介绍了在腾讯云服务器上使用Docker安装常见软件的过程,包括安装MySQL、Redis和Tomcat,并提供了解决连接问题的方法。同时,还涉及了服务器中安装JDK 1.8的步骤和如何将项目打包部署到服务器上的指导,包括注意事项和操作提示。
腾讯云服务器的使用、服务器中使用Docker安装常见的软件、如何将一个项目发布到服务器
|
4月前
|
Java Linux Maven
服务器部署之项目打包及命令行输出
服务器部署之项目打包及命令行输出
75 0