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

小结

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

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
16天前
|
监控 安全 Linux
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第18天】在RHEL环境下部署Subversion服务器需依次完成安装Subversion、创建版本库、配置服务器、启动服务、客户端连接及备份维护等步骤。确保遵循安全最佳实践,保障数据安全。
|
20天前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
107 60
|
21天前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
123 62
|
6天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
80 2
|
7天前
|
NoSQL Linux PHP
|
7天前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
44 1
|
13天前
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
27 1
|
17天前
|
安全 Linux 数据安全/隐私保护
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第17天】在RHEL环境下部署Subversion服务器包括安装Subversion、创建和配置版本库、启动服务器、客户端连接以及备份与恢复等步骤。通过这些步骤,可确保服务器的安全性和稳定性,满足版本控制需求。
|
21天前
|
SQL 分布式计算 大数据
大数据-168 Elasticsearch 单机云服务器部署运行 详细流程
大数据-168 Elasticsearch 单机云服务器部署运行 详细流程
42 2
|
23天前
|
Ubuntu API Python
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
53 1