如何把本地flask项目(框架)上传到服务器(Linux),并后台持续运行(包括requirements文件生成,python项目与域名绑定,保姆级教程)

这篇具有很好参考价值的文章主要介绍了如何把本地flask项目(框架)上传到服务器(Linux),并后台持续运行(包括requirements文件生成,python项目与域名绑定,保姆级教程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 2023年中旬,参加了一个比赛,需要搭建一个网站。在不断探索琢磨之后,搭建了一个基于flask的web。直接上干货:

一、首先,在本地准备好自己的flask项目。包括最基本的三个文件:

flask部署到服务器,flask,python,服务器,conda

然后准备生成requirements.txt文件,这个文本文件会告诉服务器你的项目运行所需要的环境,即需要安装哪些包以及库,创造依赖环境。

那么如何生成requirements.txt文件呢?

1、把项目文件用pycharm打开,来到pycharm终端,

flask部署到服务器,flask,python,服务器,conda

然后在终端项目路径下输入命令,安装pipreqs工具。

pip install pipreqs

由于我本地安装了anaconda,所以终端显示不同,但殊途同归。

flask部署到服务器,flask,python,服务器,conda

注意:这里最好不要输入命令:

pip freeze > requirements.txt  #这段代码会生成当前电脑环境下的所有安装包,然后上传到服务器上安装的时候会全部安装很多没有用的包(当前项目用不到),这样是十分耗时不可取的。

安装好pipreqsg工具之后,继续在项目的路径下,输入命令生成requirements。txt

pipreqs ./ --encoding=utf8

显示如下便成功生成了

flask部署到服务器,flask,python,服务器,conda

回到目录下,会看到多了一个requirements.txt文件:

flask部署到服务器,flask,python,服务器,conda生成的文件就1KB,项目不大,还算正常。双击打开看看,显示就两个包:

flask部署到服务器,flask,python,服务器,conda

接下来把文件一并压缩:

二、上传到服务器

事先要准备好一台服务器,如果有域名更好,没有也没关系,可以通过服务器外网IP地址访问,不过不安全。

打开宝塔面板,我是把项目放下/www/wwwroot路径下。也可以放到/home路径下,这两个路径后续改配置更少,而且也容易避免一些bug。

flask部署到服务器,flask,python,服务器,conda

flask部署到服务器,flask,python,服务器,conda

把压缩包上传到服务器,然后解压,记住自己的项目所在的路径,后续会用到。

flask部署到服务器,flask,python,服务器,conda

三、在服务器端运行

我用的是腾讯云,登录之后使用conda创建一个虚拟环境(一个独立干净的环境,能够让你的项目独立运行,运行项目首选!)。

如果服务器上没有安装conda,可以访问以下链接进行安装:

conda安装与使用 - 知乎 (zhihu.com)

安装完之后,登录服务器,输入命令:

conda --version

查看所安装的conda版本,表示安装成功。

flask部署到服务器,flask,python,服务器,conda 之后切换到项目所在的路径:cd /www/wwwroot/mcfskin  (选择你实际的路径,此处以我的为例)

flask部署到服务器,flask,python,服务器,conda

切换路径之后,使用conda命令创建一个虚拟环境,记住env_name你命名的虚拟环境,phthon版本根据需要选择:

 conda create -n env_name python=3.8

之后输入命令,激活所创建的虚拟环境,例如我创建的虚拟环境名为mcfskin 

flask部署到服务器,flask,python,服务器,conda

现在就在该路径下安装你所需要的包,这时候便需用到requirements.txt文件了。在新环境下输入命令:

pip install -r requirements.txt

运行如下:

flask部署到服务器,flask,python,服务器,conda

新环境所需要的包安装完之后,便可以运行项目了,输入命令:

python app.py

 可以看到flask框架在服务器上正常运行,就可以根据给出的地址进行访问了。按住ctrl+C,可以中断运行,跳出程序。

如果你有域名的话,在host处填入你的内网IP,如果你有SSL证书的话,可以在ssl_context()的参数里面填入.pem .key文件名称。(不过两个文件在服务器上要和app.py,即项目文件在一个目录下),选择的端口不要被其他程序占用。flask部署到服务器,flask,python,服务器,conda

可以输入以下命令查看哪些端口在运行:

netstat -nultp

显示如下:

flask部署到服务器,flask,python,服务器,conda

 把不想被占用的端口删掉,可以输入以下命令(PID填写上方的数字)

kill -9 PID

之后去腾讯云添加域名解析

flask部署到服务器,flask,python,服务器,conda

 之后可以利用公网IP地址加端口号访问flask项目啦

flask部署到服务器,flask,python,服务器,conda

如果想让项目一直在服务器后台运行,不想断开服务器连接就需要输入命令:(也是在app.py相同的文件目录下)

nohup python app.py > log.txt 2>&1 &

输入后会返回一个[1] 9906     此处的数字不唯一。成功之后中断服务器连接,也可以通过公网IP远程访问项目了。

(ps:本人目前本科在读,以上分享都是我自己亲身探索踩雷试出来的经验,可能有些地方讲的不到位,有疑问的朋友欢迎留言,很乐意一起交流学习。如果能帮到大家,我会很高兴,谢谢!)文章来源地址https://www.toymoban.com/news/detail-760560.html

到了这里,关于如何把本地flask项目(框架)上传到服务器(Linux),并后台持续运行(包括requirements文件生成,python项目与域名绑定,保姆级教程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot如何使用MultipartFile进行文件上传保存到服务器本地

    之前一直都是用的别人封装好的文件上传方法,这次想自己写一个特别简单的,文件上传方法,非常适合新手观看… 首先需要Springboot需要有Web依赖,就是下面这个依赖 依赖导完了,下面就直接是代码,大家看一下 到这里文件上传的解释都在代码里面,下面如果报文件过大的报错还需

    2024年02月13日
    浏览(45)
  • 如何使用WinSCP公网远程访问本地CentOS服务器编辑上传文件

    ​ Winscp 是一个支持 SSH( Secure SHell)的 可视化 SCP(Secure Copy)文件传输软件,它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。 ​ 可视化操作就是直接把文件 从本机拖入 ,打开文件 直接双击 即可。 软件特性 支持协议众多:SSH ,FTP、SFTP、FTPS、

    2024年01月23日
    浏览(46)
  • 将本地Python项目打包成docker镜像,上传到服务器,在docker中运行

    windows11 Docker下载地址:https://docs.docker.com/desktop/install/windows-install/ 虚拟环境可以搭建独立的Python运行环境,使得单个项目的运行环境与其他项目互不影响。 安装完成之后,便可以直接创建虚拟环境了,使用命令 virtualenv env1 进行创建 其中 activate.bat 文件,表示激活虚拟环境。

    2024年02月11日
    浏览(39)
  • 如何将项目打包上传到NuGet服务器?

    作者:西瓜程序猿 主页传送门:https://www.cnblogs.com/kimiliucn 在我写[在.NET Framework中使用RocketMQ(阿里云版)]这篇博客的时候,因为封装了很多代码在单独的DLL中,包括生产者、消费者以及官方SDK等等,然后都在博客中体现出来导致博客大量代码,然后有位读者就建议打包成NuGet包

    2024年02月10日
    浏览(34)
  • 华为云云耀云服务器L实例评测|用Python的Flask框架加Nginx实现一个通用的爬虫项目

    🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验, AWS/阿里云资深使用用户 ,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论⭐收藏 随着云计算时代

    2024年02月08日
    浏览(35)
  • 如何将项目打包上传到NuGet服务器(图文教程)?

    作者:西瓜程序猿 主页传送门:https://www.cnblogs.com/kimiliucn 在我写[在.NET Framework中使用RocketMQ(阿里云版)]这篇博客的时候,因为封装了很多代码在单独的DLL中,包括生产者、消费者以及官方SDK等等,然后都在博客中体现出来导致博客大量代码,然后有位读者就建议打包成NuGet包

    2024年02月10日
    浏览(27)
  • 如何一键部署本地Java项目到服务器上

    我开发了一个Java代码,现在想部署到服务器上,当然可以使用Jenkins部署,但是Jenkins配置和维护成本比较高,所以我今天分享的是轻量级的一键部署脚本 演示:本地Window的Java代码 - Vmware虚拟机Centos7上 如果你的项目结构不同,可以根据项目结构自行调整 1、对项目进行Maven编

    2024年01月20日
    浏览(36)
  • 如何写一个sh脚本将一个本地文件通过 scp命令上传到远程的 centos服务器?

    这篇博文分享如何使用 scp 和 expect 命令写一个脚本来自动填充密码并实现自动登录并上传文件到服务器。 假设目标服务器: 192.168.159.175 远程文件服务器登录账号假设是 root 远程文件服务器登录密码假设是 toor /Users/zhaoqingfeng/downloads/test/dist/ 是前端打包部署文件夹 将 /Users/

    2024年02月09日
    浏览(33)
  • nginx部署本地项目如何让异地公网访问?服务器端口映射配置!

    接触过IIS或apache的小伙伴们, 对 nginx 是比较容易理解的, nginx有点类似,又有所差异,在选择使用时根据自己本地应用场景来部署使用即可。通过一些对比可能会更加清楚了解: 1 . nginx是轻量级,比apache占用更少的内存以及资源 2 . apache对php支持较简单,apache组件比nginx多

    2024年02月16日
    浏览(43)
  • 如何将Unity WebGL项目上传至自己的云服务器上(图文详解)

            之前在Unity上完成的小游戏项目成功导出了.exe文件,但同时又想把它以别的形式再进行导出,虽然Unity官方提供了专门的服务器来给用户上传他们的WebGL项目,但个人感觉那总有点寄人篱下,于是想自己租一个云服务器用来上传自己的项目。         上传的流程主

    2024年04月17日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包