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服务器相关推荐

  1. Python编程:将Flask项目部署到免费服务器Heroku

    官网也给出了步骤,不过需要brew下载客户端,本文使用github部署,代码保持同步 页面打不开就挂全局代理 注册账号 https://www.heroku.com/ 新建APP https://da ...

  2. 使用python flask实现写接口供别人调动,并把flask项目部署在Linux服务器上

    需求: 需要写接口查数据库数据,并返回给前端. 思路: 这个需求要求是用最快的方式出一个demo,所以选择用python flask编写,它比较轻量级. 代码实现,用几个例子说明一下用法 1.直接返回 ...

  3. 江在川上曰:云服务器上的flask项目部署(Ubuntu+Flask+Gunicorn+Supervisor+Nginx+Anaconda)

    云服务器上的flask项目部署(anaconda.python.flask等相关安装) 在探索未知的路上走了很多弯路,这里记载了我在阿里云上部署项目切实可行的步骤,当然问题因人而异,没有四海皆适用的准 ...

  4. jenkins部署 java项目到远程 windows服务器

    jenkins部署 java项目到远程 windows服务器 1.查看windows服务器是否有 ssh服务. cmd模式,输入 ssh.如果报错就去安装ssh(可以去下 openSSH) 2.然后直 ...

  5. Flask项目部署云服务器 CentOS7.3+Redis+MySQL+Flask+Nginx+Gunicorn +Supervisorctl

    Flask项目部署云服务器 CentOS7.3+Redis+MySQL+Flask+Nginx+Gunicorn +Supervisorctl 项目运行环境 阿里云(单核CPU, 2G内存, Cent ...

  6. linux 退出服务器_Vue实战091:Vue项目部署到nginx服务器

    项目开发完成之后我们就需要将项目上线运行供用户访问,这时候我们就需要将项目部署到服务器上.对于Vue这种前端Web项目我们一般都部署在linux系统上,Linux常见的Web应用服务器有Apache. ...

  7. centos7 ifconfig命令找不到_centos7+mysql+gunicorn+flask项目部署

    前言 出于学习和实践的目的,近期自己写了一个小项目关于flask的API项目,涉及到服务器的上线部署问题,这里就做一个详细的记录和分享吧~欢迎一起交流学习指正~ 正文 一.centos7安装pytho ...

  8. 若依微服务版后台服务通过jar包部署到Windows服务器

    场景 若依微服务版手把手教你本地搭建环境并运行前后端项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109363303 在前 ...

  9. 如何将本地python项目部署到服务器上_如何将本地的Django项目部署到云服务器

    如何将本地的Django项目部署到云服务器 开发环境 开发语言: Python 后台框架:Django 前端框架:bootstrap web服务器:nginx wsgi服务器:uwsgi 查看本地项目 ...

最新文章

  1. canvas rotate 累加旋转_【教研动态】音乐活动中,使用材料累加情境的适宜性
  2. SAP: 如何取物料主数据的特性值
  3. 关于SWT/JFace中其他常用的事件
  4. pycharm profile对函数调用效率进行测试
  5. 获得分辨率_变分辨率宽幅面光固化3D打印,
  6. Flex4.5中检测网络连接类型
  7. 20191022:(leetcode习题)山脉数组的峰顶索引
  8. 简单的amr转换mp3音频格式转换方法
  9. pc端ui图片尺寸_聊聊PC端页面适配
  10. win7系统升级IE11,打补丁KB2729094失败解决办法
  11. Laya shader opengles 2.0 第一章-飘扬的旗帜 gitee代码
  12. Java - 什么是ORM?
  13. 互联网公司校招Java面试题总结及答案——CVTE
  14. Android动画合集
  15. DB2数据库安装(db2 9.7 ,centos7)
  16. MC6C迈克/FLYSKY富斯/WFLY2天地飞二代接收机远程刷固件教程
  17. 手工编程实现词法分析器java_编译原理——词法分析器实现
  18. 我的2017:不得不总结的一年
  19. 企业在开发源码商城系统的时候,需要注意些什么呢?
  20. 基于R+Oracle的海洋浮标数据显示系统(二)——网络爬虫程序和自动导入

热门文章

  1. win10无法新建文件夹解决办法
  2. VBA分别计算Excel的每一行填充颜色的单元格。把结果写到行最后
  3. 如何写一份更好的简历
  4. 【uniapp】sigmob广告加载失败:-5005、500422没有imei的解决办法(原创可用)
  5. LeetCode 290. Word Patter
  6. 获取Bing每日图片API接口
  7. 《深入理解Linux内核中文第三版》学习笔记——第7章 进程调度
  8. 斯图飞腾Stratifyd荣获WRE“最佳零售体验洞察解决方案奖”
  9. DDR布线要求及拓扑结构分析
  10. 20230330华清远见作业