Apache+flask在服务器上的搭建实现

时间:2019-08-20
本文章向大家介绍Apache+flask在服务器上的搭建实现,主要包括Apache+flask在服务器上的搭建实现使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

心血来潮,想弄一个自己的服务器,并且希望能用自己稍微熟悉一点的flask来实现网页,就这样头大,头大,头大,最后弄好了。

其实网上有很多博主写了具体的教程,可能这个用的是真的广泛,但是我还是遇到了一些问题。

我这篇文章是为了自己以后参考使用,回头来补充bug作用,当然如果可以帮到一个人我也是很开心的。

现在说说我遇到了哪一些问题:

1.最常见的版本问题,python,apache,wsgi三种版本需要相互对应,即32位对应32位,64对64,这个我觉得稍微仔细点就可以了。

2.“.whl”文件的使用,一般这种文件长成这样

mod_wsgi-4.5.24+ap24vc14-cp35-cp35m-win_amd64.whl

ap24对应着apache2.4版本,cp35对应的是python3.5,amd64就是64位, vc14就是visual studio 2015对应的运行库,一搜索就能查到下载

3.其中flask所需要的虚拟环境我没有自己安装,一是因为偷懒,二是我这段时间受不了因为自己单独操作而爆出的bug,所以我选择了用pycharm来新建一个flask项目,我直接拷贝了过去hha

4.对于whl文件网上的方法如果直接复制控制台打印出来的那几条语句,可能会出现文件路径错误或者语法错误问题,这是因为服务器操作系统控制台再复制内容之后,并不会保持各行之间的关联,而是直接黏贴为原本样子,这在http.conf中就会出现路径的报错,一开始就是因为一步步看着那些博主说的,我都是自己打的代码啊,我就搞不懂哪里错了,一直看着那些xdd/xxx/xxx/xxx。。。什么什么的,但是没有一个解决办法,其实只要仔细看看错误就会发现,是因为conf中换行的原因导致了路径连接不上了,比如python变成了py换行thon,他是识别不出来的。

5.又有一个地方错误,在运行httpd -k start/restart 的时候,他正常运行了,不会报错,但是我的flask一直没有用,不管怎么换wsgi中的路径或者conf中的文件路径,就是不报错,最后终于在apache的wrong_logs文件中仔细找到了错误,又是一个小问题,from 导入包的时候把名字没有改回来,不是一开始用的test.py文件,而是之后导入的app.py文件,哎 都是蠢到自己了。

6.在conf文件中添加

WSGIPythonHome "C:\Users\Administrator\AppData\Local\Programs\Python\Python35"
WSGIPythonPath "C:\mydir\flask_test\flask_test;C:\mydir\flask_test\flask_test\venv\Lib\site-packages"

 <VirtualHost *:80>
     DocumentRoot C:\mydir\flask_test\flask_test
     WSGIScriptAlias /test C:\mydir\flask_test\flask_test\wsgi.py
     <Directory C:\mydir\flask_test\flask_test>
          AllowOverride All 
       Require all granted
     </Directory>
 </VirtualHost>

自己成功的代码就是这样了,其中的WSGIPythonHome是python安装路径,WSGIPythonPath是项目路径和项目的虚拟环境路径

DocumentRoot项目路径
WSGIScriptAlias 之后是定义的url地址 在之后是wsgi文件,其实内部就是一个转到flask项目的转接函数
AllowOverride All 权限打开最大


 

原文地址:https://www.cnblogs.com/1120lwk/p/11383293.html