使用ecs服务器并运行django应用

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 来自“飞天加速计划·高校学生在家实践”,在ecs服务器上运行一个文言文字典和答题的应用。

2022暑假,了解了一些网络知识后,我打算自己建一个网站。要使网站能被外界访问,就需要一台连接外网的服务器,阿里云的云服务器价格相对较低,认证方面对未成年人也比较友好。后来从网络上了解到阿里云的“飞天加速计划”,免费使用消除了经济上的烦恼,又给学生足够的空间探索和发展。

以下记录使用阿里云ecs服务器的经过。

首先要获取服务器,在此之前,有一系列教学实验来熟悉操作,最后经过一个简短的答题环节,便可以运行云服务器实例了。修改好主机的密码,然后在本地用ssh远程登录以及传输文件。

接下来需要安装及配置环境,目的是在服务器上运行一个django项目。

  1. 把python升级到了3.8.5,这和我本地电脑上的python版本是一致的,另外一个好处是python3.8似乎和所有django版本都兼容。流程是下载官方压缩包,编译安装,建立链接。
  2. 安装mysql,需要先从官网下载repo源,再用yum安装,安装完成开启服务之后,需要在阿里云的安全组页面开放端口3306。要远程访问这个数据库,要在user表里把user=root行的host改成%。
  3. 安装pymysql、django和uwsgi,通过第一步的python中的pip安装,非常方便。安装完成后要为django-admin和uwsgi建立链接,再写一个ini配置文件,用这个配置运行uwsgi,网上有很多关于这个ini文件的写法。
  4. 安装nginx,安装完成后需要编辑nginx.conf的内容,这个配置文件和uwsgi的配置文件中端口要相对应,另一个要点是要设置静态文件的路径,此路径要和settings.py中的路径相同。(不知为何我的静态文件路径设为/root/static/不行,而设为/static/就可以)
  5. 把django项目拷贝到服务器上,修改设置,然后migrate、collectstatic。
  6. 在阿里云安全组页面开放nginx中监听的端口,再重启uwsgi和nginx
  7. 可以从外部访问到该网站。

wenyan-1.png
wenyan-2.png
wenyan-3.png
wenyan-4.png

我创建的这个应用包含文言文字典和文言文答题部分,目前已经完成了文言文字典的大致形态。原本的想法是尽量用高中课文,以及一些广为人知的课外篇目作为例句,避免一般查字典过程中例句没有上下文,不能理解字词用法的情况。字典是人人可编辑的,提高效率,也能尽量收录更多例句和篇目。文言文选择题的考法几乎是一成不变,就有了自动生成题目和解答的可能。文言文答题部分的数据来自于字典,由于是熟悉的篇目,题目不会生僻难懂。

将来的期望自然是继续完善本应用,也可能创建其它有意义的内容,源于日常生活。

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5天前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
55 4
|
1天前
|
存储 安全 数据库
在django应用中使用会话提示用户体验
【6月更文挑战第12天】该文档介绍了Django中如何利用会话(session)为用户提供定制体验。通过会话,开发者能更好地管理和个性化匿名用户的网站体验。参考[Django官方文档](https://docs.djangoproject.com/en/4.0/top
11 2
|
2天前
|
Python
将Django项目从本地上传至宝塔服务器(踩坑记录)
将Django项目从本地上传至宝塔服务器(踩坑记录)
11 2
|
2天前
|
缓存 运维 Serverless
Serverless 应用引擎产品使用合集之基于django应用模板创建的FC,如何配置数据库
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
2天前
|
弹性计算 网络协议 Serverless
Serverless 应用引擎操作报错合集之使用ecs,反代到函数的内网域名上,提示{"ErrorCode":"DomainNameNotFound",是什么原因
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
3天前
|
API 数据库 网络架构
在django中应用视图和路由集
【6月更文挑战第10天】 本文介绍viewsets`和`Routers`是Django REST framework中用于简化API视图和路由的工具。它们提供了一个抽象层,允许用更少的代码替代多个相关视图,并能自动生成URL。定义`UserList`和`UserDetail`视图集,分别用于列表和详情展示。
12 3
|
4天前
|
API 数据安全/隐私保护 网络架构
在django3中配置应用的权限
【6月更文挑战第9天】该文档介绍了Django REST Framework的权限管理。总结来说,本文介绍如何设置严格项目权限和如何通过自定义权限控制对特定资源的访问。
24 10
在django3中配置应用的权限
|
5天前
|
存储 JSON API
在django3应用中使用现代的JWT鉴权
【6月更文挑战第8天】本文介绍流行的鉴权方式,JSON Web Tokens (JWT) 是一种验证JSON数据所有者的机制,它是一个编码的、安全的字符串,包含可信任的数据且能加密签名。无状态的令牌认证允许客户端存储令牌并将其在每次请求。
21 8
在django3应用中使用现代的JWT鉴权
|
6天前
|
存储 安全 API
在django中创建项目时应用基础鉴权
【6月更文挑战第7天】本文探讨了在django中的API权限管理,即用户认证的两种方法:基础认证和会话认证。Django REST Framework默认使用会话认证,但也提供基础、令牌和JWT等其他选项。根据项目需求,应谨慎选择适合的认证方案。
57 3
在django中创建项目时应用基础鉴权
|
7天前
|
数据安全/隐私保护 Python
Django调用MTP服务器给指定邮箱发送邮件
Django调用MTP服务器给指定邮箱发送邮件