phpStudy + mod_wsgi 部署 Python-flask 项目

### 前言

一键部署 php 套件一大把,然而 Python 项目就很难找 一键部署的套件!

之前,我在IIS下配置 flask1 项目,业余的搞了我好几天了:那是大约3年前的事情。

Wepy(微爬) - FX 发布之后,部署一直是本人的一个心梗。
之前在现有 phpStudy 的 Apache 上,安装mod_wsgi没成功;为此,我还用qq联系了 phpStudy 作者,叫他考虑 在 phpStudy 里面 添加 mod_wsgi 扩展,可兼容部署 Python 项目 ……

今天静下心来再玩了一把:终于搞定,谨分享如下!

### 现有环境

如果是全新的 服务器,我可能选用 宝塔;可直接配置 php, java, python 项目。

而我本机已安装 phpStudy,已经运行 Mysql+Apache/Nginx,已经部署很多 php 项目; 这些项目不能惊动它们,于是放弃使用宝塔。

当前系统: Wind10 + Python3.9 + phpStudy (Mysql+Apache运行中);
拟在现有 Apache 里面,安装 mod_wsgi 扩展;添加一个站点,运行 Python-flask 项目。

以下为重点提示:

### mod_wsgi安装

下载.whl文件: https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
安装: pip3 install D:\Python39\Scripts\mod_wsgi-4.9.1-cp39-cp39-win_amd64.whl
(注意与 Python/Apache版本要对应, 之前用pip安装不成功,应该是没有指定好版本导致)

参考: https://www.jianshu.com/p/bebe855967ee
获取python配置信息: mod_wsgi-express module-config 成功则安装完毕。

### 添加 wsgi-run.py 文件

在flask项目里添加 `wsgi-run.py` 文件,文件名可任意取,后缀可为.py, .wsgi都可,与Apache设置对应即可。

import os, sys
sys.path.insert(0, os.path.dirname(__file__))
#sys.stdout = sys.stderr

from AppYS import create_app
application = create_app()

参考: https://www.ucloud.cn/yun/35745.html  
flask 爬坑指南(二)将flask应用部署在apache上(坑巨多)

提示代码: `sys.path.insert(...)` # 注意这行, 我因为这个弄了很久...

### 添加 Apache 站点

phpStudy 下添加 Apache 站点,再手动修改配置;  
`wsgi-run.py` 文件名与前一步对应就是  (注意修改自己的路径)

LoadFile "d:/python39/python39.dll"
LoadModule wsgi_module "d:/python39/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win_amd64.pyd"
WSGIPythonHome "d:/python39"

<VirtualHost *:80>
    ServerName py-dep1.txjia.com
    WSGIScriptAlias / E:\Webs\peace\python/wepy-fx\wsgi-run.py
  <Directory "E:\Webs\peace\python\wepy-fx">
      Require all granted
  </Directory>
</VirtualHost>

参考: https://flask.palletsprojects.com/en/2.0.x/deploying/mod_wsgi/  
整个 flask2 文档,我看了几次了,之前部署这章节没仔细看,今天补回来了。

### 运行结果

重启 Apache ,地址栏输入:py-dep1.txjia.com  (本地域名线上打不开,配置站点时设置的),结果截图如下:

 部署其他 flask 项目也一样啊,这里只是用 Wepy(微爬) - FX为示范。

尊重版权 共享技术  |  网络无限 大道至简

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值