25

我正在使用 ubuntu 12.041 并通过 apt-get 安装了 apache。

我不知道我使用的是什么版本的 mod_wsgi,尽管我在谷歌上搜索过。我发现你可以使用 apachctl 重新启动你的 apache,你会得到类似“Apache/2.2.2 (Unix) mod_wsgi/1.0 Python/2.3 configured”的东西。但这并没有发生在我身上。

有什么方法可以知道我使用的是什么版本?谢谢。

4

6 回答 6

20

如果您重新启动 Apache 并检查日志:

sudo apachectl -k restart
tail -n 5 /var/log/apache2/error.log

...您应该看到以下版本:

[Fri Jun 05 15:13:46.546029 2015] [mpm_prefork:notice] [pid 2245] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.9 mod_wsgi/3.4 Python/3.4.0 已配置 --恢复正常运营

于 2015-06-05T18:00:26.750 回答
12

在您的 WSGI 应用程序中查看mod_wsgi.versionWSGI 环境字典中的值。import mod_wsgi在 mod_wsgi(不是命令行 Python)下运行的 WSGI 应用程序中的那个或模块,并mod_wsgi.version从该模块打印出来。

于 2013-04-19T05:37:09.787 回答
11

我用这个

dpkg -l | grep wsgi

我不知道它在做什么,但它是一个版本?

顺便说一句,这可能是不对的,我拥有的版本 -

libapache2-mod-wsgi  (on ubuntu 10.04)

不兼容 python 3.x。我怎么知道这是一个谜——一些随机的网络论坛。此外,您实际上如何确定 libapache2 版本中的哪个版本超出了我的理解范围。

但是,啊,上面那个unix脚本会为你得到版本。在那之后你就靠自己了,水手。

于 2014-08-08T11:58:18.220 回答
7

移动到 mod_wsgi.so 所在的 apache 模块目录。

运行以下命令。

$ strings mod_wsgi.so | grep -w -A 1 "wsgi_init"
wsgi_init
4.5.7   

请注意,可能需要-A1出现wsgi_init. 例如,对于 mod_wsgi 版本 2.7.5,您需要-A 2查看版本号:

$ strings mod_wsgi.so | grep -w -A 2 "wsgi_init"
wsgi_init
mod_wsgi/%s
2.7.5
于 2017-04-08T18:41:26.187 回答
1

一个附带问题是关于mod_wsgi. 为此,只需检查mod_wsgi.so模块ldd

➜  / cd usr/lib/apache2/modules 
➜  modules ldd mod_wsgi.so
        linux-vdso.so.1 =>  (0x00007ffcaabf3000)
        libpython2.7.so.1.0 => /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 (0x00007f4e29c62000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4e29a45000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4e2967b000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f4e29461000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4e2925d000)
        libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f4e2905a000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4e28d51000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f4e2a423000)
➜  modules 

就我而言,它显然是用python2.7.

于 2018-04-15T15:17:58.433 回答
0

这已经很老了,但我没有看到我找到的答案:

yum list installed '*mod_wsgi*'

或者更好

yum list '*mod_wsgi*'

查看您已安装的内容以及可用的(可能)更高版本。

于 2019-12-22T01:01:31.450 回答