网站首页 > 技术文章 正文
在服务器上部署Flask代码(从单进程到多进程)
博客说明
文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!
需要的环境
使用的是nignx,python3.8.2,虚拟环境
创建目录
首先创建一个目录,我之前用过宝塔,所以我的项目目录在 /www/wwwroot/www.guizimo.top下
上传要部署的项目
把项目文件上传到/www/wwwroot/www.guizimo.top下,并解压
创建虚拟目录
virtualenv venv
有了venv这个Python环境,可以用source进入该环境
source venv/bin/activate
像这样就进入了虚拟环境
python环境安装
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel mysql-devel gcc gcc-devel python-devel
安装项目依赖
pip3 install -r requirements.txt
这里安装的依赖都是在虚拟坏境下的
配置生产模式
export ops_config=production
启动项目
python manager.py runserver
测试一下
发现失败了,想一想这是什么原因?
因为我们的端口没有开放,我们去宝塔面板打开8998端口,在阿里云上也是如此
宝塔->安全
阿里云->控制台->实例->本实例安全组
然后再次测试,发现已经可以使用了
使用uwsgi实现多线程访问
在项目根目录下创建uwsgi.ini文件,配置跟项目相关的数据,注意修改成自己相关的数据
vim uwsgi.ini
[uwsgi]
#源码目录
chdir=/www/wwwroot/www.guizimo.top/azlg
#python 虚拟环境
home=/www/wwwroot/www.guizimo.top/azlg/venv
module=manager
callable=app
master=true
processes=4
http=0.0.0.0:8999
socket=/www/wwwlogs/www.guizimo.top/azlg/azlg.sock
buffer-size=65535
pidfile=/www/wwwlogs/www.guizimo.top/azlg/azlg.pid
chmod-socket=777
logfile-chmod=644
daemonize=/www/wwwlogs/www.guizimo.top/azlg/azlg.log
static-map = /static=/www/wwwroot/www.guizimo.top/azlg/web/static
启动
uwsgi --ini uwsgi.ini
查看
cd /www/wwwlogs/www.guizimo.top/azlg/
tail -f azlg.log
已经启动了四个进程,注意换了端口号8999,要记得重新开放端口,差不多就可以啦
感谢
万能的网络
以及勤劳的自己
猜你喜欢
- 2024-10-03 不改一行代码!快速部署流行框架到腾讯云 Serverless
- 2024-10-03 Flask 基础理解(flask基础入门)
- 2024-10-03 AI界最危险武器GPT-2使用指南:从Finetune到部署
- 2024-10-03 解决Flask-SocketIO部署遇到的问题
- 2024-10-03 Python Web 部署(pythonweb服务器部署)
- 2024-10-03 Python Flask 大型应用的架构(python的flask案例)
- 2024-10-03 python 解析二维码(ZBar) flask开发 Dockerfile 打包部署
- 2024-10-03 使用Docker部署Python Flask Web应用的最佳实践
- 2024-10-03 带你认识 flask 错误处理(flask errorhandler)
- 2024-10-03 使用 Python 和 Flask 架设网站:入门指南
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)