2017-03-01 13 views
1

私はUbuntuとApacheでサーバーを実行しています。今、私はmod_wsgiでAnacondaを動作させようとしていますが、動作させることができません。Anaconda + Apache + mod_wsgi + Ubuntu

最初にオフです。 mod_wsgi-expressを使うとうまくいきます。 Pythonにインストールするセクションのhttps://anaconda.org/pypi/mod_wsgiの指示に従い、最初にPYTHONHOME=/opt/anacondaと設定してから/opt/anaconda3/bin/mod_wsgi-express start-serverに設定して動作させることができます。

私はApacheを使用したいので、mod_wsgiモジュールをanacondaからapacheにロードします。そして、私はこのようなVirtualHostを持っています:

WSGIPythonHome /opt/anaconda3 
WSGIPythonPath /opt/anaconda3/lib/python3.6/site-packages:/path/to/application 
<VirtualHost *:8080> 
ServerName example.com 
WSGIDaemonProcess example python-home=/opt/anaconda3 python-path=path/to/application:/opt/anaconda3/lib/python3.6/site-packages 
WSGIProcessGroup example 

WSGIScriptAlias//path/to/application/wsgi.py 

<Directory /path/to/application/static> 
    Require all granted 
</Directory> 

<Directory /path/to/application> 
<Files wsgi.py> 
    Require all granted 
</Files> 
</Directory> 

</VirtualHost> 

今問題になります。私は私のApacheのエラーログにこのエラーが表示されます。 mod_wsgi_expressでPYTHONHOME=/opt/anacondaを指定しないと、同じエラーが発生します。

[Wed Mar 01 09:31:17.159233 2017] [core:trace4] [pid 16941] mpm_common.c(530): mpm child 19356 (gen 0/slot 1) started 
[Wed Mar 01 09:31:17.159638 2017] [core:trace4] [pid 16941] mpm_common.c(530): mpm child 19357 (gen 0/slot 2) started 
[Wed Mar 01 09:31:17.160049 2017] [core:trace4] [pid 16941] mpm_common.c(530): mpm child 19358 (gen 0/slot 6) started 
[Wed Mar 01 09:31:17.160467 2017] [core:trace4] [pid 16941] mpm_common.c(530): mpm child 19359 (gen 0/slot 7) started 
[Wed Mar 01 09:31:17.160967 2017] [core:trace4] [pid 16941] mpm_common.c(530): mpm child 19360 (gen 0/slot 8) started 
[Wed Mar 01 09:31:17.161421 2017] [core:trace4] [pid 16941] mpm_common.c(530): mpm child 19361 (gen 0/slot 9) started 
[Wed Mar 01 09:31:17.161877 2017] [core:trace4] [pid 16941] mpm_common.c(530): mpm child 19362 (gen 0/slot 10) started 
[Wed Mar 01 09:31:17.162345 2017] [core:trace4] [pid 16941] mpm_common.c(530): mpm child 19363 (gen 0/slot 11) started 
[Wed Mar 01 09:31:17.162792 2017] [wsgi:info] [pid 19361] mod_wsgi (pid=19361): Python home /opt/anaconda3. 
[Wed Mar 01 09:31:17.162817 2017] [wsgi:info] [pid 19361] mod_wsgi (pid=19361): Initializing Python. 
[Wed Mar 01 09:31:17.166761 2017] [wsgi:info] [pid 19362] mod_wsgi (pid=19362): Python home /opt/anaconda3. 
[Wed Mar 01 09:31:17.166806 2017] [wsgi:info] [pid 19362] mod_wsgi (pid=19362): Initializing Python. 
[Wed Mar 01 09:31:17.170927 2017] [wsgi:info] [pid 19360] mod_wsgi (pid=19360): Python home /opt/anaconda3. 
[Wed Mar 01 09:31:17.170967 2017] [wsgi:info] [pid 19360] mod_wsgi (pid=19360): Initializing Python. 
[Wed Mar 01 09:31:17.174897 2017] [wsgi:info] [pid 19359] mod_wsgi (pid=19359): Python home /opt/anaconda3. 
[Wed Mar 01 09:31:17.174921 2017] [wsgi:info] [pid 19359] mod_wsgi (pid=19359): Initializing Python. 
[Wed Mar 01 09:31:17.178746 2017] [wsgi:info] [pid 19363] mod_wsgi (pid=19363): Python home /opt/anaconda3. 
[Wed Mar 01 09:31:17.178769 2017] [wsgi:info] [pid 19363] mod_wsgi (pid=19363): Initializing Python. 
[Wed Mar 01 09:31:17.182570 2017] [core:notice] [pid 16941] AH00052: child pid 19317 exit signal Aborted (6) 
[Wed Mar 01 09:31:17.182582 2017] [core:trace4] [pid 16941] mpm_common.c(530): mpm child 19317 (gen 0/slot 0) exited 
[Wed Mar 01 09:31:17.182594 2017] [core:notice] [pid 16941] AH00052: child pid 19318 exit signal Aborted (6) 
[Wed Mar 01 09:31:17.182597 2017] [core:trace4] [pid 16941] mpm_common.c(530): mpm child 19318 (gen 0/slot 3) exited 
[Wed Mar 01 09:31:17.182605 2017] [core:notice] [pid 16941] AH00052: child pid 19319 exit signal Aborted (6) 
[Wed Mar 01 09:31:17.182608 2017] [core:trace4] [pid 16941] mpm_common.c(530): mpm child 19319 (gen 0/slot 4) exited 
[Wed Mar 01 09:31:17.182615 2017] [core:notice] [pid 16941] AH00052: child pid 19320 exit signal Aborted (6) 
[Wed Mar 01 09:31:17.182618 2017] [core:trace4] [pid 16941] mpm_common.c(530): mpm child 19320 (gen 0/slot 5) exited 
[Wed Mar 01 09:31:17.182636 2017] [wsgi:info] [pid 16941] mod_wsgi (pid=19321): Process 'store-test' has died but server is being stopped, deregister it. 
[Wed Mar 01 09:31:17.182646 2017] [wsgi:info] [pid 16941] mod_wsgi (pid=19321): Process 'store-test' has been deregistered and will no longer be monitored. 
[Wed Mar 01 09:31:17.182934 2017] [wsgi:info] [pid 19358] mod_wsgi (pid=19358): Python home /opt/anaconda3. 
[Wed Mar 01 09:31:17.182954 2017] [wsgi:info] [pid 19358] mod_wsgi (pid=19358): Initializing Python. 
[Wed Mar 01 09:31:17.186756 2017] [wsgi:info] [pid 19357] mod_wsgi (pid=19357): Python home /opt/anaconda3. 
[Wed Mar 01 09:31:17.186781 2017] [wsgi:info] [pid 19357] mod_wsgi (pid=19357): Initializing Python. 
[Wed Mar 01 09:31:17.190807 2017] [wsgi:info] [pid 19356] mod_wsgi (pid=19356): Python home /opt/anaconda3. 
[Wed Mar 01 09:31:17.190840 2017] [wsgi:info] [pid 19356] mod_wsgi (pid=19356): Initializing Python. 
Could not find platform independent libraries <prefix> 
Could not find platform dependent libraries <exec_prefix> 
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] 
Fatal Python error: Py_Initialize: Unable to get the locale encoding 
ModuleNotFoundError: No module named 'encodings' 
Current thread 0x00007f4ad9333780 (most recent call first): 

誰でも、私はそれを動作させるために何ができるのか分かりますか?

答えて

2

Anaconda Pythonを使用する場合は、mod_wsgiにシステムパッケージを使用することはできません。最初のステップは、システムのmod_wsgiパッケージをアンインストールすることです。

次に、pip install mod_wsgiを使用して、mod_wsgi-expressをAnaconda Pythonインストール環境または仮想環境にインストールします。その後

実行します。

mod_wsgi-express module-config 

は、その出力を取るとmod_wsgiをロードするようにApacheの設定ファイルにそれを置きます。

次に、特定のWSGIアプリケーションのmod_wsgi設定をApacheに追加します。

問題がある場合は、使用後の設定を表示してください。

+0

ありがとうございます。私はAnacondas pipを使用して_mod_wsgi_をインストールしました。私はその_mod_wsgi_をApacheにロードし、他のすべてをApacheの設定から削除しました。 _module-config_は有効なコマンドではないので、私は 'mod_wsgi-express module-config'を実行できません。有効なコマンドは、_install-module、module-location、setup-serverおよびstart-server_です。いずれもApacheで使用する出力を生成しません。 _start-server_を使用すると、使用するApache設定を読むことができますが、それは私の問題には役立ちません。それが使用する設定では、私は 'PYTHONHOME'を設定する必要があります。 –

+0

長い間前にmod_wsgiのpipインストールを済ませていて、古いバージョンが必要です。 '' pip uninstall mod_wsgi''を実行し、それを再インストールします。 –

+0

私はこれを何の結果もなしに試みました。しかし、気づかずに何かが間違っています。私は新しいUbuntuインストールでanacondaをインストールしようとしましたが、うまく動作します。私の同僚は、誤ったインストールにanacondaをインストールし、何とかそれを壊した可能性があります。ありがとうございました! –

関連する問題