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 8080

DocumentRoot "D:\src\Fixed_assets"  #你的Flask项目目录
<Directory "D:\src\Fixed_assets">	#你的Flask项目目录
    Require all granted
    Require 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框架,web,python,windows,flask,apache)