linux服务器上部署flask后端

1.导出所需环境

在项目的env或venv目录下执行:pip freeze >requirements.txt ,生成当前环境所需的。
把项目通过xftp软件放入到服务器中

2.服务器新建虚拟环境

新建一个python版本3.9的环境,起名py39:
conda create -n py39 python=3.9
激活环境,进入到当前环境:
source activate py39
在这里插入图片描述
进入到项目下的env或venv目录,执行下列语句,导入环境:
pip install -r requirements.txt

3.开放端口

firewall-cmd --list-ports 查看开放了哪些端口
firewall-cmd --zone=public --add-port=80/tcp --permanent 开放80端口
firewall-cmd --reload 重启防火墙
其他:
查看端口占用: netstat -tunlp|grep 端口号
杀死端口占用:
在这里插入图片描述

4.阿里云服务器开放端口(一定要开放!!)

云服务器控制台-》实例-》管理-》安全组-》配置规则-》访问规则
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.后台运行

后台运行:

命令1(记录所有日志): nohup python -u udp_server.py > test.log 2>&1 &
命令2(只记录错误日志):nohup python -u udp_server.py >/dev/null 2>error.log 2>&1 &
命令3(不记录任何日志):nohup python -u udp_server.py >/dev/null 2>&1 &

想要想停止后台运行,就把该进程kill掉
命令解析:

nohup 不挂断的意思
python udp_server.py 服务器的启动脚本
-u 代表程序不启用缓存,也就是把输出直接放到log中,没这个参数的话,log文件的生成会有延迟
p.log 将输出日志保存到这个log中
2>1 2与> 结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;
2>&1 换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.
& 最后一个& ,代表该命令在后台执行

查看后台进程:
ps aux |grep python ps -ef | grep python
在这里插入图片描述

6.报错

运行时显示端口占用

查看端口信息:
sudo netstat -tunlp
如现在8088端口被占用,杀死进程:
sudo kill -9 963
在这里插入图片描述

服务器上 localhost:端口号 能访问接口,但 xx.xx.xx.xx: 端口号 不能访问

一开始以为是flask代码的问题,以为是要改成app.run(host=‘0.0.0.0’),因为出现的问题很像,最后发现是没在阿里云的访问规则中添加访问端口的访问规则,所以这个端口的接口都被阻挡了。
这是云服务器要加上的一个步骤

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
【资源说明】 基于原生前端和Python Flask后端的文件服务器源码+使用说明+详细注释.zip 一、简介 基于原生前端和 Python Flask 后端的文件服务器,可远程访问、下载和上传文件,可用于某一设备向其他设备开放的文件访问。局域网搭配内网穿透可实现公网访问。<br> (2023.04.09 更新:本项目仅推荐在 windows 环境下使用。读取硬盘分区的代码不是跨平台的,在其他系统可能出现未知问题。另外,本项目我没有继续更新的意愿,但如果你遇到了 bug 或者提交 pull requests,我会第一时间响应) 二、说明 最开始是想着,实现电脑不在身边的时候直接访问、操作电脑文件。等到做完了才想起来用 ftp 协议配置也更方便,也更稳定;但既然都做完了(;′⌒`)...也就权当一个练手项目吧。<br> 使用 http 实现确实麻烦了,但正好也能用最近学的前端知识做一做交互界面。使用 Windows 自带的 ftp 服务或网上的其他 ftp 客户端 UI 也就那样,自己从零设计 ftp 服务客户端又太麻烦了,选择前端 http 实现正好可以满足 UI 这个需求。<br> 同时不同设备访问只需要浏览器就可以了。~~当然移动端体验可能不太好,因为我没做移动端网页(懒),但是用还是能用的...~~ (2021.09.15 更新:增加了移动端适配,移动端使用体验大幅提升) 三、功能 (1)~~炫酷、人性化使用界面,赏心悦目(划掉)~~<br><br> (2)类似 ftp 服务的文件访问、下载和上传功能,没有删除(没这个需求) 四、使用 (1)安装依赖: ```cmd pip install flask ``` (2)[app.py](app.py) 中设置 SECRET_KEY 值,关于该值 flask 官方的说明: > SECRET_KEY 配置变量是通用密钥,可在 Flask 和多个第三方扩展中使用,如其名所示,加密的强度取决于变量值的随机密度。<br> > 不同的程序要使用不同的密钥,而且要保证其他人不知道你所用的字符串,其主要作用应该是在各种加密过程中加盐以增加安全性。在实际应用中最好将这个参数存储为系统环境变量。 建议通过随机方法获取值,采用系统变量方式存储,然后使用 `os.getenv('SECRET_KEY')` 读取<br><br> (3)定义登录用户名和密码:给 [app.py](app.py) 中的 `SPECIFY_UNAME` `SPECIFY_UPWD` 常量赋值<br><br> (4)运行 [app.py](app.py) 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值