Flask项目部署到Windows服务器
Flask项目部署到Windows服务器
在开发调试Flask项目时,之所以能运行,是因为Flask框架自带了一个开发用的WSGI server,要将写好的flask项目部署到生产环境,需要一个性能更好的WSGI server,而在Windows环境下可以选择使用的WSGI server又很少,Apache服务器可以通过增加模块的方式,使其能够支持Flask项目。
一、安装虚拟环境及项目依赖包
1.安装第三方包
pip install virtualenv
pip install virtualenvwrapper-win
2.创建并进入虚拟环境
mkvirtualenv flask_env
当前创建的虚拟环境目录位于C:\Users\Administrator\Envs, 这样可能有时候不满足我们的需求,比如我们想把项目放在其他盘(或其他位置),这样就需要我们自己配置一下环境 。
3.新建文件夹: 如 D:\pythonEnvs 。配置电脑系统环境变量, 变量名:WORKON_HOME ,变量值:D:\pythonEnvs 。
4.重新打开cmd,命令行输入workon,目录中没有虚拟环境了,因为默认目录已经改变 , 我们可以将之前的虚拟环境的项目拷贝到D:\pythonEnvs下。
workon
5.再次运行workon,就可以看到该目录下所有的虚拟空间了。
6.进入(使用)某个虚拟空间:workon flask_env ,将requirements.txt
复制到此目录,再安装项目依赖包
workon flask_env
pip install -r requirements.txt
7.退出虚拟空间 deactivate
deactivate
二、安装Apache及wsgi_module
1.下载Apache
Apache本身不提供已编译的安装包,只提供源码,如果你自己无法编译,可以从ApacheHaus上下载编译好的安装包。
2.解压安装包,放到你喜欢的位置,比如C:\Apache24。
3.下载wsgi_module,要选择跟你的Apache、Python还有Windows系统一致的版本。mod_wsgi-4.9.0-cp38-cp38-win_amd64.whl
4.在虚拟环境下,安装下载好的mod_wsgi-4.9.0-cp38-cp38-win_amd64.whl。
pip install mod_wsgi-4.9.0-cp38-cp38-win_amd64.whl
5.安装成功后,运行下面的命令,得到三条信息。
mod_wsgi-express module-config
6.详细修改Apache配置文件C:\Apache24\conf\httpd.conf,把三条信息复制到配置文件里,下面这些必须有。
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_core_module modules/mod_authz_core.so
ServerName 12.34.56.78 #有域名写域名,没域名写IP
Define SRVROOT "C:\Apache24" #你的apache安装包目录
ServerRoot "${SRVROOT}"
Listen 8080DocumentRoot "D:\src\Fixed_assets" #你的Flask项目目录
<Directory "D:\src\Fixed_assets"> #你的Flask项目目录Require all grantedRequire host ip
</Directory>
WSGIScriptAlias / D:\src\Fixed_assets\test.wsgi #Flask项目目录中要新建一个*.wsgi的文件LoadFile "c:/users/administrator/appdata/local/programs/python/python38/python38.dll"
LoadModule wsgi_module "D:/pythonEnvs/flask_env/lib/site-packages/mod_wsgi/server/mod_wsgi.cp38-win_amd64.pyd"
WSGIPythonHome "D:/pythonEnvs/flask_env"
7.新建一个D:\src\Fixed_assets\test.wsgi的文件。
import sys
sys.path.insert(0,'D:\src\Fixed_assets') #目录是Flask项目目录
from run import app as application #把你的Flask app导进来,并命名成application
8.测试配置文件是否正确。
httpd -t
三、启动Apache
1.第一种方式,启动完等待状态,按Ctrl+C停止。
C:\Apache24\bin\httpd
2.第二种方式,启动完可以关闭窗口,net stop Apache
停止服务。
注册为Windows服务,-n后面是服务名称,可以自定义。
C:\Apache24\bin\httpd -k install -n Apache
net start Apache
3.第三种方式,可视化启动。
启动完成,在浏览器输入本地地址加端口号,或者输入外网地址加端口号,正常显示网页,安装成功。
Flask项目部署到Windows服务器相关推荐
- Python编程:将Flask项目部署到免费服务器Heroku
官网也给出了步骤,不过需要brew下载客户端,本文使用github部署,代码保持同步 页面打不开就挂全局代理 注册账号 https://www.heroku.com/ 新建APP https://da ...
- 使用python flask实现写接口供别人调动,并把flask项目部署在Linux服务器上
需求: 需要写接口查数据库数据,并返回给前端. 思路: 这个需求要求是用最快的方式出一个demo,所以选择用python flask编写,它比较轻量级. 代码实现,用几个例子说明一下用法 1.直接返回 ...
- 江在川上曰:云服务器上的flask项目部署(Ubuntu+Flask+Gunicorn+Supervisor+Nginx+Anaconda)
云服务器上的flask项目部署(anaconda.python.flask等相关安装) 在探索未知的路上走了很多弯路,这里记载了我在阿里云上部署项目切实可行的步骤,当然问题因人而异,没有四海皆适用的准 ...
- jenkins部署 java项目到远程 windows服务器
jenkins部署 java项目到远程 windows服务器 1.查看windows服务器是否有 ssh服务. cmd模式,输入 ssh.如果报错就去安装ssh(可以去下 openSSH) 2.然后直 ...
- Flask项目部署云服务器 CentOS7.3+Redis+MySQL+Flask+Nginx+Gunicorn +Supervisorctl
Flask项目部署云服务器 CentOS7.3+Redis+MySQL+Flask+Nginx+Gunicorn +Supervisorctl 项目运行环境 阿里云(单核CPU, 2G内存, Cent ...
- linux 退出服务器_Vue实战091:Vue项目部署到nginx服务器
项目开发完成之后我们就需要将项目上线运行供用户访问,这时候我们就需要将项目部署到服务器上.对于Vue这种前端Web项目我们一般都部署在linux系统上,Linux常见的Web应用服务器有Apache. ...
- centos7 ifconfig命令找不到_centos7+mysql+gunicorn+flask项目部署
前言 出于学习和实践的目的,近期自己写了一个小项目关于flask的API项目,涉及到服务器的上线部署问题,这里就做一个详细的记录和分享吧~欢迎一起交流学习指正~ 正文 一.centos7安装pytho ...
- 若依微服务版后台服务通过jar包部署到Windows服务器
场景 若依微服务版手把手教你本地搭建环境并运行前后端项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109363303 在前 ...
- 如何将本地python项目部署到服务器上_如何将本地的Django项目部署到云服务器
如何将本地的Django项目部署到云服务器 开发环境 开发语言: Python 后台框架:Django 前端框架:bootstrap web服务器:nginx wsgi服务器:uwsgi 查看本地项目 ...
最新文章
- canvas rotate 累加旋转_【教研动态】音乐活动中,使用材料累加情境的适宜性
- SAP: 如何取物料主数据的特性值
- 关于SWT/JFace中其他常用的事件
- pycharm profile对函数调用效率进行测试
- 获得分辨率_变分辨率宽幅面光固化3D打印,
- Flex4.5中检测网络连接类型
- 20191022:(leetcode习题)山脉数组的峰顶索引
- 简单的amr转换mp3音频格式转换方法
- pc端ui图片尺寸_聊聊PC端页面适配
- win7系统升级IE11,打补丁KB2729094失败解决办法
- Laya shader opengles 2.0 第一章-飘扬的旗帜 gitee代码
- Java - 什么是ORM?
- 互联网公司校招Java面试题总结及答案——CVTE
- Android动画合集
- DB2数据库安装(db2 9.7 ,centos7)
- MC6C迈克/FLYSKY富斯/WFLY2天地飞二代接收机远程刷固件教程
- 手工编程实现词法分析器java_编译原理——词法分析器实现
- 我的2017:不得不总结的一年
- 企业在开发源码商城系统的时候,需要注意些什么呢?
- 基于R+Oracle的海洋浮标数据显示系统(二)——网络爬虫程序和自动导入