windows环境下部署项目

有些时候,我们的项目不得不用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. 启动服务

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

 

posted on 2023-02-16 16:39  哎呀!土豆  阅读(146)  评论(0编辑  收藏  举报

导航