我在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的Apacheapxs
脚本的位置 在执行安装之前安装。请注意,此处不会将任何内容复制到您的Apache安装中 点。因此,您不需要以root用户身份运行它 除非将其安装到站点范围的Python安装中而不是 一个Python虚拟环境。
要验证安装是否成功,请运行 带有
mod_wsgi-express
命令的<{1}}脚本::start-server
似乎解决了我的情况,因为Apache没有安装在我正在运行命令的虚拟环境中,但我不知道该怎么做
我认为他们正在谈论setup.py文件,我应该更改路径,但我不知道如何以语法方式或我的APXS脚本所在位置。
以下是我认为需要修改的代码片段
mod_wsgi-express start-server
如果有帮助,我在运行Ubuntu 12.04LTS的服务器上执行所有操作。我最后的问题是以下
非常感谢你的时间
答案 0 :(得分:1)
抱歉给您带来不便
原来我忘了在我的apache服务器上安装APXS。我只是从终端运行代码,它工作
sudo apt-get apache2-threaded-dev
答案 1 :(得分:0)
对于Centos 7:
yum install httpd-devel