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

小结

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

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
10月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
2290 5
|
10月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
326 17
|
10月前
|
Shell 网络安全 开发工具
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
635 5
|
11月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
1234 13
|
11月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
919 0
监控 安全 Linux
650 0
|
监控 Linux iOS开发
PyCharm启动项目和调试项目
本文介绍了在 PyCharm 中启动和调试 Python 项目的详细步骤,涵盖单文件运行、配置管理、命令行工具使用、断点调试、变量监控、远程调试及常见问题解决方案,帮助开发者高效利用 PyCharm 的调试功能提升开发效率。
2467 4
|
机器学习/深度学习 存储 JSON
PyCharm 创建了第一个项目
在 PyCharm 中创建项目时,合理的目录结构有助于代码、依赖和资源的高效管理。本文详细解析了 PyCharm 的默认目录结构,如 `.idea/`(配置文件)、`venv/`(虚拟环境)、`src/`(源代码)、`tests/`(测试代码)、`data/`(数据文件)等,并提供了文件创建建议和最佳实践。同时介绍了核心代码、脚本文件、测试文件的存放位置,以及 PyCharm 的常用操作技巧,帮助开发者构建清晰、可维护的项目结构。
924 2