web-dev-qa-db-ja.com

Python 2.7を使用するようにmod_wsgiを構成する

Python 2.7を使用するようにmod_wsgiを構成しようとしています。

ソースをダウンロードして解凍し、実行しました

./configure --with-python=/usr/local/bin/python2.7

この後、mod_wsgi.so-2.4とmod_wsgi.so-2.5が/ usr/lib/Apache2/modulesに表示されました。

サーバーを再起動しましたが、「内部サーバーエラー」が報告されます。エラーログは、起動時にサーバーがPython 2.5.2--以前と同じバージョンの使用状況を報告していることを示しています。

Apacheを実行するにはどうすればよいですかPython 2.7?mod_wsgiを正しく構成してPython 2.7)で実行するにはどうすればよいですか?

2
chernevik

競合しているmod_wsgiのシステムパッケージがインストールされています。それらが必要ない場合は、mod_wsgiのシステムパッケージをアンインストールしてください。

また、必ずお読みください。

/ usr/local/libがシステムld.cacheにリストされていない場合、実行時にPythonライブラリがどこにあるかがわかるように、mod_wsgiをビルドするときにLD_RUN_PATHを/ usr/local/libに設定する必要がある場合があります。

また、以下を設定する必要がある場合があります。

WSGIPythonHome /usr/local

apache構成では、mod_wsgiはPython 2.7がシステムの場所にないためどこにあるかを認識します。

また、Python 2.7が共有ライブラリとともにインストールされていることを確認してください。

2

これは、Python2.7を使用するようにmod_wsgiを構成する方法です。

私はたまたまこれと同じ問題に直面しました。そして、mod_wsgiをアンインストールし、適切な構成で再インストールするオプションを検討していました。

記事の1つを読んで、現在のmod_wsgiをアンインストールする必要がないことに気付きました。先に進んで、Python2.7を使用するように設定してmod_wsgi3.4(以前はv3.2を使用していました)を再インストールできました(インストールプロセスは、エラーや競合なしにすべてを書き換えます)。

すでにPython2.7をインストールしているので。

Mod_wsgi-3.4を再インストールしました(アンインストールを実行せずに)

[root @ server〜]#cd〜

[root @ server〜] #wget http://modwsgi.googlecode.com/files/mod_wsgi-3.4.tar.gz

[root @ server〜] #tar xvf mod_wsgi-3.4.tar.gz

[root @ server〜] #cd mod_wsgi-3.4

インストールされたpython2.7でmod_wsgiを構成しました

[root @ server〜]#。/ configure --with-python =/usr/local/bin/python2.7

[root @ server〜] #make

[root @ server〜] #make install

以下の2つのコマンドは非常に重要です。/ usr/local/libを、libpython2.7.so.1.0をインストールしたフォルダーに置き換えます。/usr/local/libにはありません。

[root @ server〜] #LD_LIBRARY_PATH =/usr/local/lib/usr/local/bin/python

[root @ server〜] #ldconfig

Apacheサーバーを再起動します

[root @ server〜] #service httpd restart

[root @ server〜] #ldd /etc/httpd/modules/mod_wsgi.so

上記のコマンドの出力:Line2は、mod_wsgiがPython2.7ライブラリを使用していることを示しています。わーい!

    linux-vdso.so.1 =>  (0x00007fffc0aa9000)
    libpython2.7.so.1.0 => /usr/lib/libpython2.7.so.1.0 (0x00007f03a5b20000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f03a5903000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f03a56fe000)
    libutil.so.1 => /lib64/libutil.so.1 (0x00007f03a54fb000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f03a5277000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f03a4ee2000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f03a6133000)
1
Utkarsh Sinha