有些时候,我们的项目不得不用windows服务器部署,但是需要注意的是,windows服务是无法开启多进程处理请求的。

本文介绍如何在windows上部署flask项目,应用 apache + mod-wsgi + flask

Apache和mod-wsgi的版本根据当前的操作系统和python版本一定要选择对

查询端口号是否被占用的命令:netstat -aon|findstr “端口号”  如果端口被占用,就会显示一行信息,最后一列数字是PID号

查看当前端口对应的PID是哪个进程的:tasklist|findstr "PID号"

1. 下载Apache的版本

网址是:https://www.apachelounge.com/download/VC14/

因为我们的系统是64位的,所以我们选择Win64版本的Apache

2. 下载mod-wsgi

网址是:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

因为我们的python是3.7版本的,所以我们选择mod_wsgi-4.9.0-cp37-cp37m-win_amd64这个版本

3. 我们的python环境需要安装mod-wsgi

Cmd进入终端页面,切换到我们python环境中,然后执行pip install mod-wsgi文件存放的具体路径

然后执行mod_wsgi-express module-config 这条命令会生成3行数据,我们先保存下来

4. 配置Apache

首先我们把Apache解压,路径可以随意选择,最好不要在c盘

其次我们打开conf文件夹,找到httpd.conf文件,进行编辑

(1)修改成我们Apache解压的位置

(2)修改我们需要监听的端口号,且加入一行ServerName localhost:监听的端口号

(3)添加我们之前在安装mod-wsgi时,生成的那3行数据

(4)LoadModule access_compat_module modules/mod_access_compat.so 前面的#删掉

(5)去添加项目的路径和wsgi的路径,这里不要出错

(6)修改好之后记得保存该文件

5. 添加环境变量(特别重要,否则会一直报错)

错误信息:

Fatal Python error: initfsencoding: unable to load the file system codec

ModuleNotFoundError: No module named 'encodings'

这个错误大概率就是我们环境变量添加的有问题,所以一定要注意

首先要进入我的电脑—属性—高级系统设置—环境变量

        其次在环境变量的系统变量中新建一条数据,并按照图示去添加

6. 添加wsgi文件

回到我们的项目中,新建一个run.wsgi文件

7. 安装Apache的服务

(1)首先搜索cmd,然后以管理员身份运行

(2)其次进入Apache的bin目录下

(3)最后安装Apache服务,名称可以自定义 httpd –k install –n “Apache服务名称”

8. 启动服务

搜索任务管理器,以管理员身份运行。之后我们项目更新迭代或服务器重启后,我们直接重启这个服务,代码就部署上了

windows环境下部署项目的更多相关文章

  1. Django Windows环境下部署

    环境准备 本文将介绍如何在Windows系统上部署Django web项目,本次部署基于下面的架构: Windows10 64位+Python3.6+Django1.11+Apache2.4+mod_ ...

  2. 在Windows环境下部署Axis2/C服务

    Apache Axis2/C是C语言实现的网络服务引擎,基于Axis2架构,支持SOAP1.1和SOAP1.2协议,并且支持RESTful风格的Web service. 下面是本人在Windows 7 ...

  3. Windows环境下部署Tomcat服务器图文教程

    Tomcat是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. 本文将详细介绍在Windows环境下 ...

  4. 在windows环境下部署nuxt项目(线上发布部署)

    因为公司项目需要兼容SEO,同时我们也一直希望能够真正的实现前后端分离,于是毫不犹豫的选择了nuxt. 话说要重构前后端分离真是一个大工程,由于各种原因我们团队花了近两年时间都没有完成,最近才又重启把 ...

  5. IIS环境下部署项目

    1.环境部署 1.1安装IIS7 进入控制面板,选择"程序和功能",进入如下页面后,点击"Turn Windows features on or off". 找 ...

  6. myeclipse在过时的环境下部署项目出现的问题

    开发环境 操作系统:xp sp3 2002 (ps:客户公司环境只有这个老古董) 开发工具:myeclipse2014  32位 jdk: 1.7_49    32位 DB:DB2  9.1  32位 ...

  7. windows环境下部署一个Jenkins工程

    首先要安装配置好Jenkins环境变量,具体操作可参考其他文章 确保Jenkins可以正常运行之后开始进行项目的部署 首页点击新建,进行新建一个工程 进入项目添加界面,填入项目名称并选择构建一个自由风 ...

  8. Thinkphp在Lnmp环境下部署项目先后报错问题解决:_STORAGE_WRITE_ERROR_:./Application/Runtime/Cache/Home/...Access denied.

    首先报错:_STORAGE_WRITE_ERROR_:./Application/Runtime/Cache/Home/769e70f2e46f34ceb60619bbda5e4691.php 解决此 ...

  9. Linux环境下部署项目时的步骤和一些要注意的点

    SQL的导出和导入 sql的导出 首先选中要导出的数据库 然后点击左下角的administration选项,进入导出界面. 点击Data Export 然后勾选图中的几个选项即可导出一个sql,如果需 ...

  10. Windows环境下部署MySQL主从并模拟升级到8.0

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 一.部署实例 1.下载2个软件 http://ftp.kaist.ac.kr/mysql/Downloads/MySQL- ...

随机推荐

  1. WPF项目需要不断更新前台图片时,碰到“System.IO.IOException: 文件“xxx”正由另一进程使用“问题的解决

    问题描述 项目中要求能不断拍照并更新显示图片,使用FileStream在本地创建了图片文件: 当下次重新拍照前删除之前拍过的图片时,提示"System.IO.IOException: 文件& ...

  2. WPF 实现文件、图标拖放功能(支持UAC的那种)

    WPF实现文件拖放功能,正常情况并没有什么问题,但是如果你的程序使用管理员身份启动,你就会发现文件拖放功能就会失效. 这是因为WPF 在不同UAC等级下,是不允许拖放的. 原理很简单,与桌面相关联的进 ...

  3. 发送邮件找回密码采用outlook的 pop和smtp方式、qq邮箱smtp

    一.outlook的pop方式,并指定发送人邮箱地址: 需要引入dll:Microsoft.Office.Interop.Outlook Outlook.Application olApp = new ...

  4. Java面向对像之方法重写

    方法重写Override 重写:需要有继承关系,子类重写父类的方法! 特点: 1.方法名必须相同 2.参数列表必须相同 3.修饰符:范围可以扩大:public > Protected > ...

  5. 安装 deepin linux 系统、linux 使用记录

    安装 deepin 深度linux系统 官网:https://www.deepin.org/zh/ 包含了下载ios镜像和安装教程: 最新版本:https://www.deepin.org/zh/do ...

  6. SAP BW/4HANA学习笔记1

    1.Master Data BW/4HANA BW/4HANA简介 BW/4HANA的前身是SAP BW(Business Warehouse),本质是一种数据仓库解决方案. 数据仓库解决方案: 1. ...

  7. MongoDB升级

    因业务需要所以需要对mongoDB客户端jar包升级,在此记录一些过程 1.jar包替换,引入依赖 3.2.2: mongo-java-driver     |     4.6.1: mongo-dr ...

  8. 使用yum快速安装mysql-5.7(用于测试)

    1)CentOS 7 下安装 MySQL 5.7 下载并安装MySQL官方的 Yum Repository [wget -i -c http://dev.mysql.com/get/mysql57-c ...

  9. 星链技术设计(starlink techriage design)

    1.星链  定义:  星链,是美国太空探索技术公司的一个项目,太空探索技术公司计划在2019年至2024年间在太空搭建由约1.2万颗卫星组成的"星链"网络提供互联网服务,其中158 ...

  10. andriod升级保错问题归类

    https://developer.aliyun.com/article/1116339 https://www.jianshu.com/p/5d9c790ab958 https://blog.51c ...