需求:在本地物理机上部署flask项目做后端,提供api,前端用react,查了两天,最后成功,做个记录,以备后来查阅。

一、首先需要安装apache和mod_wsgi,需要注意的是python版本,apache版本,mod_wsgi版本要匹配,不然会出问题,我的python版本为python3.7,64位的,所以我下载的apache和mod_wsgi分别为

apache+mod_wsgi+flask部署

Apache下载网址:https://www.apachelounge.com/download/VC10/

apache+mod_wsgi+flask部署

mod-wsgi下载网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

二、安装apache和mod_wsgi,apache直接解压到c盘根目录,可能也可以在别的目录,但是要改配置文件,我没试过,所以我直接解压在c盘

apache+mod_wsgi+flask部署

 

把下载下来的mod_wsgi解压,下载下来的应该是.whl文件,解压后找到mod_wsgi-4.7.1-cp37-cp37m-win_amd64\mod_wsgi\server\mod_wsgi.cp37-win_amd64.pyd这个文件,把这个文件复制到刚才解压的apache文件夹里

apache+mod_wsgi+flask部署

 

三、在C盘新建一个mydir文件夹,再新建一个flask名字为demo0305项目,放到mydir文件夹里,我把新项目的app.py改名为hello.py了,其他的没动,再在demo0305里新建个myapp.msgi文件,内容为

import sys
sys.path.insert(0, 'c:\\mydir\\demo0305')  # 这个目录就是项目所在路径
from hello import app as application

apache+mod_wsgi+flask部署

hello.py内容,里面有三个路由

apache+mod_wsgi+flask部署

 

flask项目已经配置结束,下面开始配置apache,找到下面这个配置文件,在180行左右加上LoadModule wsgi_module modules/mod_wsgi.cp37-win_amd64.pyd,这句话是刚才复制进apache的那个pyd文件路径

apache+mod_wsgi+flask部署

apache+mod_wsgi+flask部署

 

在这个文件最后加上

<VirtualHost *:80>
     ServerAdmin "127.0.0.1"
     ServerName localhost:80
     DocumentRoot C:\mydir\demo0305
     <Directory C:\mydir\demo0305>
         Require all granted
     </Directory>
     WSGIScriptAlias / C:\mydir\demo0305\myapp.wsgi
 </VirtualHost>

上面配置说明:

(1)项目路径(不一定要放在apache目录下):

DocumentRoot C:\mydir\demo0305

(2)wsgi模块启动文件(重点):

  WSGIScriptAlias / C:\mydir\demo0305\myapp.wsgi

注意:这里的“/”是必须的,表示url前缀,后面可以根据需求修改。

(3)项目路径权限:设置为允许全部,可能apache版本不同,这个配置也不同,查资料时见有其他写法

<Directory C:\mydir\demo0305>
         Require all granted
</Directory>

httpd.conf文件比较重要,里面的配置选项需要认真看看!!!

到目前为止,已经全部配置完成,下面cmd进到C:\Apache24\bin下,在命令行输入httpd.exe,不报错即可启动项目,再去浏览器输入接口名称,成功界面!

apache+mod_wsgi+flask部署

 

参考博客:https://blog.csdn.net/k295330167/article/details/80616519

                 https://blog.csdn.net/wangliuqi123/article/details/80828070?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

 

相关文章:

  • 2021-05-01
  • 2022-12-23
  • 2021-05-24
  • 2022-12-23
  • 2022-12-23
  • 2021-10-06
  • 2022-12-23
  • 2021-12-25
猜你喜欢
  • 2021-06-18
  • 2022-12-23
  • 2022-12-23
  • 2021-10-03
  • 2022-12-23
  • 2021-12-18
  • 2022-12-23
相关资源
相似解决方案