如何在虚拟Environement中安装mod_wsgi

时间:2016-07-04 14:41:46

标签: apache python-3.x ubuntu mod-wsgi apxs2

简介

我在python 3中编写了一个Web API,它使用了flask。当我从终端运行Web API并且代码中的以下行托管代码时,代码运行正常。

if __name__ == '__main__':
    app.run(host='', port=8010, debug='true')

现状

代码运行完美,我想在Apache服务器上进行设置。但是Apache服务器已经有了使用python 2构建的网站,并且需要mod_wsgi用于python 2。

我查了一下是否有办法在apache服务器上设置两个mod-wsgi但是根据以下来源你不能 mod_wsgi for Python 2 as well as Python 3 on one Apache server

尝试解决方案

我正在尝试将mod-wsgi安装到虚拟环境中。我从这里下载了软件包,并在激活后尝试将其安装到环境中。

我从终端运行了sudo python setup.py install,但我收到了以下错误

  

文件“setup.py”,第139行,in       '缺少Apache httpd服务器包。' %APXS)   RuntimeError:'apxs'命令似乎没有安装或不可执行。请检查此软件包文档中的先决条件列表,并安装任何缺少的Apache httpd服务器软件包。

所以我打开了自述文件,该文件是压缩包的一部分,发现了以下内容

  

如果您希望使用安装到非版本的Apache版本   标准位置,您可以设置和导出APXS环境   变量到Apache的Apache apxs脚本的位置   在执行安装之前安装。

     

请注意,此处不会将任何内容复制到您的Apache安装中   点。因此,您不需要以root用户身份运行它   除非将其安装到站点范围的Python安装中而不是   一个Python虚拟环境。

     

要验证安装是否成功,请运行   带有mod_wsgi-express命令的<{1}}脚本::

start-server

似乎解决了我的情况,因为Apache没有安装在我正在运行命令的虚拟环境中,但我不知道该怎么做

我认为他们正在谈论setup.py文件,我应该更改路径,但我不知道如何以语法方式或我的APXS脚本所在位置。

以下是我认为需要修改的代码片段

mod_wsgi-express start-server

问题

如果有帮助,我在运行Ubuntu 12.04LTS的服务器上执行所有操作。我最后的问题是以下

  1. APXS通常位于Ubuntu中
  2. 如何更改代码段以使用其中的APXS脚本
  3. 非常感谢你的时间

2 个答案:

答案 0 :(得分:1)

抱歉给您带来不便

原来我忘了在我的apache服务器上安装APXS。我只是从终端运行代码,它工作 sudo apt-get apache2-threaded-dev

答案 1 :(得分:0)

对于Centos 7:

yum install httpd-devel