在阿里云服务器上部署一个 flask 项目

简介: 我的毕业设计是全国新冠疫情的预测和监控,完成毕设后想把项目部署到服务器上,并且实现定时爬取疫情数据。部署 flask 项目时,通常都是使用 WSGI 应用服务器搭配 Nginx 作为反向代理实现的。常用的 WSGI 服务器有 gunicorn 和 uwsgi,利用好学生优惠免费使用的阿里云服务器,我希望能使用Nginx 反向代理搭配 gunicorn 实现 flask 项目的部署(๑•̀ㅂ•́)و✧。

我是一名信息管理与信息系统的学生,想把毕设项目部署到服务器,但又资金短缺。于是便在网上搜索性价比高的服务器,看到阿里云推出了“飞天加速计划·高校学生在家实践”活动,非常高兴的参加了这个活动。

参加了ECS云服务器的新手入门后,我学会了如何远程连接云服务器。刚开始使用宝塔面板尝试了第一次连接数据库,宝塔面板很好用,但复制只能shift+insert啊,于是就用workbench输命令,宝塔面板传数据ヾ(≧▽≦*)o

连接上云服务器后先装的python3,在/usr/local 目录下新建了一个python3目录,把安装包上传到python3目录后解压。安装编译都挺顺利的,但创建软连接的时候报错了,在网上搜到了解决方法“ln -s 加一个 f”即可。

接着上传项目和数据库数据,发现了宝塔面板上一个导入sql文件的功能,感觉要方便很多。本来我是用Navicat连接本地数据库和服务器数据库,使用数据传输把本地数据传到服务器的。但有些坑,比如字段名被截断,为0的数据导出成null了。后来才发现宝塔面板上有导入数据的功能,真的是方便了很多啊~~~当然也可以在终端输入命令建立数据库,上传sql文件,同样也没有格式之类的错误。

然后是Nginx的安装,这个费了很多时间。装了nginx后忘记关掉,之后再开启时就报错说端口已经在使用中,搞了挺久才了解到要先停止nginx./nginx -s stop)才能再次重启,也可以先查看有哪些进程,然后杀死进程就行。

最后安装的gunicorn,这个算是最简单了。学会了个小技巧,修改了flask项目文件后,重启一下gunicornkill -HUP 15456(主进程)),通过公网ip访问才能显示修改后的页面。

通过高校学生在家实践活动,我学会了很多很多,也碰到了很多困难,但都已经解决了。项目部署成功后非常有成就感,之前一直觉得部署项目到服务器很难,现在觉得也没有那么难了,之后我想学习linux的相关命令,我会好好学习的!!!(•̀́)و

个人作品链接:疫情监控

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
15天前
|
弹性计算 监控 负载均衡
|
1月前
|
监控 安全 Linux
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第18天】在RHEL环境下部署Subversion服务器需依次完成安装Subversion、创建版本库、配置服务器、启动服务、客户端连接及备份维护等步骤。确保遵循安全最佳实践,保障数据安全。
|
9天前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
16天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
25天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
205 3
|
25天前
|
NoSQL Linux PHP
|
26天前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
97 1
|
1月前
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
47 1
|
1月前
|
安全 Linux 数据安全/隐私保护
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第17天】在RHEL环境下部署Subversion服务器包括安装Subversion、创建和配置版本库、启动服务器、客户端连接以及备份与恢复等步骤。通过这些步骤,可确保服务器的安全性和稳定性,满足版本控制需求。
|
数据采集 SQL 弹性计算
使用云服务器ECS部署了自己的第一个爬虫
云服务器部署爬虫爬取网站最新通告并推送
使用云服务器ECS部署了自己的第一个爬虫