当前位置:   article > 正文

Windows下flask+apache+mod_wsgi部署简介_flask wsgiscriptalias

flask wsgiscriptalias

安装mod_wsgi

pip install mod-wsgi

安装的时候如果提示打不开‘apr_perms_set.h’文件,就去github上面下载apr的源码,然后把里面的这个文件放入apache\include下面即可

安装好之后,获取module配置

  1. C:\Users\Administrator>mod_wsgi-express module-config
  2. LoadFile "D:/software/Python310/python310.dll"
  3. LoadModule wsgi_module "D:/software/Python310/lib/site-packages/mod_wsgi/server/mod_wsgi.cp310-win_amd64.pyd"
  4. WSGIPythonHome "D:/software/Python310"
  5. C:\Users\Administrator>

然后将mod_wsgi配置到apache

  1. ....
  2. #LoadModule watchdog_module modules/mod_watchdog.so
  3. #LoadModule xml2enc_module modules/mod_xml2enc.so
  4. LoadFile "D:/software/Python310/python310.dll"
  5. LoadModule wsgi_module "D:/software/Python310/lib/site-packages/mod_wsgi/server/mod_wsgi.cp310-win_amd64.pyd"
  6. WSGIPythonHome "D:/software/Python310"
  7. <IfModule unixd_module>
  8. ...

Apache监听多端口

为了不对apache内的原配置有影响,我们使用VirtualHost进行独立配置,而不是去修改apache的配置,这样如果以后我们还想再增加配置一个django项目就很方便了。

找到apache\conf下的httpd.conf

  1. ...
  2. Define SRVROOT "D:\software\BtSoft\BtSoft\apache"
  3. #定义flask项目路径(这并不是必须的,只是方便后面的使用)
  4. Define FLASKROOT "D:\software\JetBrains\project\flaskApp"
  5. ServerRoot "${SRVROOT}"
  6. ...
  7. Listen 80
  8. #新增监听81端口,这就是我们的flask网站端口
  9. Listen 81

开启Virtual hosts

找到apache\conf下的httpd.conf

  1. ...
  2. # Virtual hosts
  3. Include conf/extra/httpd-vhosts.conf
  4. ...

配置Virtual hosts

找到apache\conf\extra\httpd-vhosts.conf

  1. #跟上面监听的端口一致
  2. <VirtualHost *:81>
  3. ServerAdmin webmaster@dummy-host2.example.com
  4. #指定网站根目录
  5. DocumentRoot "${FLASKROOT}"
  6. #指定网站用localhost:81来访问
  7. ServerName localhost:81
  8. #这条命令就是指定对 localhost:81/.. 的访问都转由${FLASKROOT}/flaskApp.wsgi来处理
  9. WSGIScriptAlias / "${FLASKROOT}/flaskApp.wsgi"
  10. ErrorLog "logs/dummy-host2.example.com-error.log"
  11. CustomLog "logs/dummy-host2.example.com-access.log" common
  12. #指定目录下的文件都可访问
  13. <Directory "${FLASKROOT}">
  14. AllowOverride None
  15. Require all granted
  16. </Directory>
  17. </VirtualHost>

网站入口flaskApp.wsgi

  1. import sys
  2. #将项目路径加入到python搜索目录中,否下面的test_flask_sqlalchemy模块是找不到的
  3. sys.path.insert(0, 'D:\\software\\JetBrains\\project\\flaskApp')
  4. #application名字是不能变的,因为mod_wsgi只认这个名字
  5. from test_flask_sqlalchemy import app as application

全部配置完成之后重启apache,打开浏览器访问 http://localhost:81/就能看到想要的效果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/592978
推荐阅读
相关标签
  

闽ICP备14008679号