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
相关文章
|
19天前
|
数据管理 数据库 数据安全/隐私保护
Django—同一项目不同app使用不同数据库
在Django项目中实现不同app使用不同数据库的配置,可以通过配置多数据库、创建数据库路由和配置路由来实现。通过这种方法,可以有效地将数据隔离到不同的数据库,提高数据管理的灵活性和系统的可扩展性。希望本文能为开发者在Django项目中使用多数据库提供清晰的指导。
18 4
|
2月前
|
Python
使用pycharm 开发streamlit的项目启动
要在 PyCharm 中配置 Streamlit 环境并调试应用,请按以下步骤操作:1. 确保 PyCharm 配置了 Python 解释器并安装 Streamlit 包(File -&gt; Settings -&gt; Project -&gt; Python Interpreter)。2. 配置调试运行设置(Run -&gt; Edit Configurations,添加 Python 配置并命名)。3. 选择新配置并点击调试按钮启动应用。
85 23
|
5月前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
177 22
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
5月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
207 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
5月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
148 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
4月前
|
IDE 网络安全 开发工具
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。
1709 0
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
|
4月前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
705 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
5月前
|
Linux Python
解决django项目报错很离谱的报错之RuntimeError: populate() isn't reentrant
解决django项目报错很离谱的报错之RuntimeError: populate() isn't reentrant
|
5月前
|
机器学习/深度学习 人工智能 算法
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台。果蔬识别系统,本系统使用Python作为主要开发语言,通过收集了12种常见的水果和蔬菜('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜'),然后基于TensorFlow库搭建CNN卷积神经网络算法模型,然后对数据集进行训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地文件方便后期调用。再使用Django框架搭建Web网页平台操作界面,实现用户上传一张果蔬图片识别其名称。
92 0
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
4月前
|
监控 应用服务中间件 网络安全
部署Django应用:使用Gunicorn和Nginx构建高效的生产环境
部署Django应用:使用Gunicorn和Nginx构建高效的生产环境
251 0

热门文章

最新文章