前言之前也在ubuntu上部署过python项目,使用的是docker方式,虽然解决了依赖的问题,但维护起来很麻烦。
于是这次直接在虚拟环境上部署flask,意外的顺利运行起来了。
后来了解到Flask自带的服务器性能很差,官方也明文强烈禁止使用开发服务器运行项目,原因如下:
1.安全性。开发服务器未内置 Web 应用防火墙(WAF)、请求过滤等安全机制,易受 DDoS、SQL 注入等攻击。
2.性能。Flask 开发服务器基于 Werkzeug,默认只能同时处理一个请求,无法利用多核 CPU,无法扩展工作进程。
3.稳定性。无自动恢复机制,且长时间运行可能出现内存泄漏。
4.功能缺失。静态文件处理低效,缺乏请求日志、错误追踪等运维必需功能。
因此这次采用Gunicorn + Nginx的方式进行部署。
项目运行1.先编译好Flask程序,本地运行成功后,使用第三方工具来获取requirements.txt,这里面包含了当前项目所有依赖包,方便服务器环境构建。
pip install pipreqs
pipreqs .
2.将项目上传到服务器,构建虚拟环境并测试项目运行。
1234 ...
捕风的异乡人从坠星山谷启程,你和派蒙走走看看,一路前行。继续前进到派蒙附近派蒙:哇——与派蒙对话派蒙:那就是「七天神像」了。派蒙:神灵的造像散布在大陆上,象征七神守护世界。派蒙:在七位元素神灵中,这一位掌控的是「风」。派蒙:虽然不知道你要找的是不是风之神,但…派蒙:我先带你来风神的领地,也是有理由的喔。跟随派蒙派蒙:众所周知,语言与诗歌随风飘荡…派蒙:其中一定会有你妹妹(哥哥)的消息!我是这样想的。派蒙:当然,能不能得到神的回应,就只有试过才知道了…派蒙:那么,就加快脚步吧!继续远离派蒙:喂!你往哪儿走呀。来派蒙这边。派蒙:不要离派蒙太远咯。游过星落湖派蒙:可以直接游过来哦~在你们前进的道路上,出现了一座奇特的「七天神像」。在派蒙的建议下,你上前查看。与派蒙对话派蒙:呀,是不是感受到这个世界的「元素」了?派蒙:看起来,你只要触碰神像,就能获得「风」的元素力呢。派蒙:这个世界的人想要获得力量,绝对不可能像你这样轻松…
这力量的来源…果然是…
派蒙:从这里向西走,就可以抵达自由城邦「蒙德」。派蒙:蒙德是「风」的城市,在七神中供奉的正是风神。派蒙:能从神像获得力量的你,会不会在那里找到神 ...
穿越烟帷与暗林前往「草神的国度」向林中继续前进派蒙:既然我们已经到了须弥,接下来的目标就是前往须弥城,想办法见到「小吉祥草王」。派蒙:说起「小吉祥草王」,我们之前虽然打听到的消息不多,但她不太像是当年带走你妹妹/哥哥的那位神…派蒙:不过,须弥也被称为「智慧的国度」,如果能见到这位智慧之神,应该能从她那里获得一些有价值的情报。旅行者:我也这么觉得。派蒙:不知道须弥城在什么方向,我们要不爬到七天神像所在的那块大岩石上看看吧。派蒙:就算看不见须弥城,至少也能找找附近有没有村子什么的。派蒙:等等,你看,前面有行人!派蒙:太好啦,这下就省了我们到处找路的功夫了。派蒙:你好——我们是外国来的旅行者,想向你问个路!派蒙:难道是没听见…喂——前面的行人,不好意思能向你问个路吗?!须弥行人:……派蒙:这到底是怎么回事啊?她明明听见我们在叫她,却对我们不理不睬的。
别生气,应该只是个例…
派蒙:哼!不过…虽说她不肯理睬我们,但只要我们远远跟着她的话,应该就能走到有人烟的地方吧?派蒙:到时候,我们再向其他人问路好了。悄悄跟上沉默的行人派蒙:走,我们悄悄跟在她后面前进吧,别被她发现了。观察山洞里 ...
荣花与炎日之途前往海露港在枫丹留下了许多难以忘却的回忆。如今新的旅程就在眼前,先和枫丹的朋友们道别吧。派蒙:时间过得真快啊,转眼间我们就要踏上下一段旅程了。派蒙:我没记错的话,接下来的目的地是纳塔对吧?派蒙:那维莱特曾说那里是「龙」的国度,但究竟是个什么样的地方,还是挺神秘的呢。
毕竟从来没见过纳塔人。
派蒙:是啊,就算是稻妻在封锁很严厉的时候,我们也在其他地方见到过稻妻的人…派蒙:欸,难不成,纳塔是个没有人的地方?你们正在说话,却突然察觉有留影机的镜头对准了你们。
夏洛蒂:对对对,保持这个惊讶和兴奋的表情,看向镜头,我要留影了哦。派蒙:好,要把我拍好看一点哦!派蒙:不对!夏洛蒂你为什么会在这里?夏洛蒂:听说在枫丹格外活跃的旅行者即将启程,「蒸汽鸟报」自然不会错过这个报道机会啊。夏洛蒂:下次再想要找你们取材,可就没这么方便啦。派蒙:原来这你也能知道,我们通常都没有告别的习惯。夏洛蒂:嘿嘿,这样确实很符合你们的风格,但我们觉得偶尔换一种方式也不错嘛。派蒙:「你们」?娜维娅:并肩作战的日子就好像还在昨天,我的好搭档。以后有空的时候欢迎回来看看。克洛琳德:如果旅途上遇到了什么困难,也可以 ...
简单 746 使用最小花费爬楼梯
给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。
你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。
请你计算从底部到楼梯顶部的最低花费。
12345输入:cost = [10,15,20]输出:15解释:你将从下标为 1 的台阶开始。- 支付 15 ,向上爬两个台阶,到达楼梯顶部。总花费为 15 。
1234567891011121314151617181920212223242526272829//虽然基础,也是很有代表性的一道动态规划题。//在爬楼梯的基础上加一层判断,即每一层的最小花费是上一层和上上层最小花费加上当层费用。class Solution { public int minCostClimbingStairs(int[] cost) { int[] mincost = new int[cost.length+1]; mincost[0] = 0; mincos ...
介绍一个python脚本,用于获取《崩坏:星穹铁道》的剧情信息。大致思路是:
1.获取各章节的子链接;
2.获取子链接的html源码;
3.处理html,去除无效信息,并将各html标签转为md标签(如option转为’>’等,便于在blog中展示)
4.合并各章节内容,生成目录,并再次清洗
本次应用核心在于对信息的处理,例如对于特定的标签的特殊处理,标题范围的控制(处理不当会出现整段文章被识别为标题的问题),以及多余空行的清理等,整体难度甚至低于之前音乐爬取的应用。
编码1.获取html信息,并按照章节保存。此步骤会对数据进行初步处理,并将html标签转为md的标签。
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051 ...
今天是昨天的明天混乱行至深处 开场动画「一幕短剧」 空间站内的众人:啊! 空间站内的众人:那是什么! 红色头发的站长:引导疏散,动作要快! 白色头发的少年:走! 纠缠之缘的转世:小心! 卡芙卡:看来我来得不是时候呢。 ???:不,我想你来得正是时候。 ???:系统时间23时47分15秒,你很准时,卡芙卡。 卡芙卡:艾利欧(星核猎手)看见的未来是不会出错的。刚刚的爆炸是怎么回事,这也在他的「剧本」里吗? ???:在,「系统时间23时44分59秒,爆炸产生的脉冲造成了主控系统的大面积瘫痪。」 卡芙卡:是你做的? ???:「反物质军团」干的,它们在两个系统时前全面入侵了空间站。 卡芙卡:我们需要和军团交手么? ???:不知道,艾利欧没有说,那这件事就不重要。 卡芙卡:明白了~那么从现在开始,行动由我接手。 ???:收到。这次能让我玩得开心点吗?之前的几次行动都很无聊呢。 卡芙卡:抱歉,今天的任务非常枯燥:仅仅是把目标「放进去」而已。 卡芙卡:——但想要找什么乐子,我都不会拦着你。毕竟…… 过场动画 卡芙卡:——毕竟 卡芙卡:艾利欧没写在剧本里的 ...
说明目标:获取一个资讯网站的新闻信息,并部署到远程服务器上,做一个简易的信息聚合平台。
准备:云服务器、域名(可选)
架构:前后端分离,前端使用Vue部署;后端使用python-flask,并使用Docker部署到服务器
服务器配置本项目中,由于使用了Docker和Nginx,很大程度降低了对服务器环境的依赖。
服务器上也是只需要配置这两个环境即可。
Docker:apt install docker.io
Nginx: apt install nginx
Docker配置镜像源(apt和docker的镜像源总得有一个好用的…)
12345678sudo vim /etc/docker/daemon.json <<EOF{ "registry-mirrors": [ "https://docker.1ms.run", "https://docker.xuanyuan.me" ]}EOF
项目部署一、Docker部署flask项目首先本地调试flask爬 ...
参考资料https://blog.csdn.net/qq_39390545/article/details/130049367
至尊图项目整合管理
项目范围管理
成本管理
重要知识点工作绩效数据 VS 工作绩效信 VS 工作绩效报告
参考:https://zhuanlan.zhihu.com/p/564683115
(1)工作绩效数据:在执行项目的工作过程中, 从每个正在执行的活动中收集到的原始观察结果和测量值。
(2)工作绩效信息:从各控制过程中收集并结合相关背景和跨领域关系,进行整合分析而得到的绩效数据。
(3)工作绩效报告:为制定决策,提出问题,采取行动或引起关注,而汇编工作绩效信息,所形成的实物或电子项目文件。