2016-09-20 6 views
0

私はhttpdサービスでdjangoサーバーを実行しています。 私はPythonバージョン(2.7.12)をアップグレードしなければなりませんでした。 新しいPythonをインストールした後、新しいPythonでmod_wsgiを再構築します(with-python引数を使用して)。 新しいpythonバージョンでmod_pythonも再構築します。 私の新しいpythonパスは/usr/local/bin/python2.7です。 /etc/httpd/conf.d/django.confに次の行を追加しました: WSGIPythonHome/usr/local。古いpythonバージョンを使用しているmod_wsgiランタイム

私は私のerror_logファイル(httpdのエラーログ)にこのエラーが表示さしかし:

[Tue Sep 20 12:32:12.743338 2016] [:warn] [pid 8567:tid 139972130834496] mod_wsgi: Compiled for Python/2.7.12. 
[Tue Sep 20 12:32:12.743376 2016] [:warn] [pid 8567:tid 139972130834496] mod_wsgi: Runtime using Python/2.7.5. 

私が欠けていますか?

FYI:/ usr/bin/pythonに存在するデフォルトのpythonを変更することはできません。これは、centosパッケージ管理に影響するためです。

答えて

0

システムPythonと同じX.Yバージョンで、パッチレベルは異なるPythonバージョンをインストールする場合、実行時リンカーが新しいPythonバージョンの別の場所から共有Pythonライブラリを使用するようにする必要があります。

これを行うには、mod_wsgiを再構築し、mod_wsgiをビルドするときにLD_RUN_PATH環境変数を、別のPythonバージョン用のPythonライブラリを含むディレクトリに設定します。インストールされたmod_wsgi.soファイルに

ldd mod_wsgi.so 

、それが/usr/local/libなく/usr/libからPythonライブラリを使用する必要があります。これは正常に動作する場合

make distclean 
./configure --with-python=/usr/local/bin/python2.7 
LD_RUN_PATH=/usr/local/lib make 
sudo make install 

、あなたは実行することができます。

また、まだ設定する必要があります。

WSGIPythonHome /usr/local 
+0

ありがとうございました!! 、私のために働く! –

関連する問題