赞
踩
1:公司老项目在windows10上是用apache部署的,需要学习掌握前面的技术。
2:看到前面同事的代码,缺点很明显,各个项目之间的包互相冲突,风险太大,因为它们是apache全局跑的同一个解释器。
23_10_11_分割线:
笔者能做到windows同一个apache跑flaskA,flaskB项目,二者的环境包互相隔离,而不是最初的一个apache使用一个环境包跑flaskA、flaskB项目。
1:用虚拟环境装包后,在放到apache上跑,即每个项目的包环境隔离开来。
1:根据python,apache版本,确定mod_wsgi版本(这一步十分重要!),主要就是看它是什么编译的(VC几),多少位。
我选用的是python3.6.6+apache2.4.34(Win64)+mod_wsgi-4.6.8+ap24vc14-cp36-cp36m-win_amd64.whl(这个网上已经下载不到了,这是公司遗留的)
贴出现有mod_wsgi地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/ (ctrl+f搜索:mod_wsgi)
2:安装mod_wsgi,并部署到apache里面。
我是选择pycharm开创一个flask项目的虚拟环境,我当初就是卡在这里很多天(pycharm自动创建的venu里面没有activate_this.py,假如要有,必须要cmd下
virtualenv --no-site-packages venu手动创建)
- 把mod_wsgi复制到venu里面的Scripts里面,
-
- pip安装后输入mod_wsgi-express module-config,出现两行。
-
- 复制LoadModule wsgi_module "d:/python_project/test_apache_002/venu/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
-
- 到apache目录D:\app_new\Apache-2.4.34\conf,httpd.conf里面。
检查是否安装成功的方法是apache重启不报错!
3:另外使用virtualenv重新创建一个虚拟环境的flask项目,放在apache上面启动。使用postman访问接口验证。
- 1:
- virtualenv --no-site-packages venu # 创建虚拟环境venu
-
- #项目生成requirement.txt文件
- pip freeze > requirements.txt
- #使用requirements.txt安装依赖的方式
- pip install -r requirements.txt
- #2:app.wsgi里面内容
-
- activate_this = r'D:\python_project\test_venu_001\newenv\Scripts\activate_this.py'
- with open(activate_this) as file_:
- exec(file_.read(), dict(__file__=activate_this))
- import sys
- sys.path.insert(0, r'D:\python_project\test_venu_001')
- from app import app as application
- #3:apache配置里面内容
- Listen 10020
- <VirtualHost *:10020>
- ServerName example.com
- WSGIScriptAlias / D:\python_project\test_venu_001\app.wsgi
- <Directory D:\python_project\test_venu_001>
- Require all granted
- </Directory>
- </VirtualHost>
-
成功标识
报错就找
// 联系请加V:zew1040994588
1:mod_wsgi版本的选择,我之前也不知道自己是什么版本,就一个个下载了pip,发现pycharm会提示你平台不符合,不能安装,还是很实用。
2:pycharm默认创建虚拟环境是不会有activate_this.py这个东西的,还是需要cmd下手动创建。
3:由于网上基本没有函数工厂部署这方面的,这也是个坑,记得转义r''地址与as application(mod_wsgi只认这个),此外假如使用mod_wsgi,其实flask就不走app.run()或者manage.run()即flask自带的服务器。
1:python3.6_flask_apahce_mod_wsgi 成功部署在windows2012x64 无数坑 无数次的尝试
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。