尝试从apache服务CKAN时未发现CKAN分发错误

问题描述 投票:0回答:1

我正在尝试为ckan 2.7配置datapusher,并且作为先决条件我已经安装了数据存储区和apache http服务器。

apache httpd版本:Apache / 2.4.25(Unix)mod_wsgi包安装4.5.15 conf文件的权限是ckan文档中指定的http://docs.ckan.org/en/latest/maintaining/installing/deployment.html

ckan_default.conf的内容是

WSGIScriptAlias / /etc/ckan/default/apache.wsgi

WSGIPassAuthorization On

WSGIDaemonProcess ckan_default display-name=ckan_default processes=2 threads=15

WSGIProcessGroup ckan_default

ErrorLog /var/log/apache2/ckan_default.error.log

CustomLog /var/log/apache2/ckan_default.custom.log combined

apache.wsgi文件的内容:

import os
ckan_home = os.environ.get('CKAN_HOME', '/usr/lib/ckan/default')

activate_this = os.path.join(ckan_home, 'bin/activate_this.py')

execfile(activate_this, dict(__file__=activate_this))

from paste.deploy import loadapp

config_filepath = os.path.join(os.path.dirname(os.path.abspath(__file__)), 
'production.ini')

from paste.script.util.logging_config import fileConfig

fileConfig(config_filepath)

application = loadapp('config:%s' % config_filepath)

当我启动apache httpd服务器时,我在日志中看到以下错误。

[Tue May 02 17:39:23.953718 2017] [wsgi:error] [pid 24744:tid 140135528146688] mod_wsgi (pid=24744): Target WSGI script '/etc/ckan/default/apache.wsgi' cannot be loaded as Python module.

[Tue May 02 17:39:23.953836 2017] [wsgi:error] [pid 24744:tid 140135528146688]  mod_wsgi (pid=24744): Exception occurred processing WSGI script '/etc/ckan/default/apache.wsgi'.

[Tue May 02 17:39:23.953875 2017] [wsgi:error] [pid 24744:tid 140135528146688]  Traceback (most recent call last):

[Tue May 02 17:39:23.953912 2017] [wsgi:error] [pid 24744:tid 140135528146688] File "/etc/ckan/default/apache.wsgi", line 10, in <module>
[Tue May 02 17:39:23.954043 2017] [wsgi:error] [pid 24744:tid 140135528146688] application = loadapp('config:%s' % config_filepath)

[Tue May 02 17:39:23.954067 2017] [wsgi:error] [pid 24744:tid 140135528146688] File "/usr/lib/ckan/default/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp

[Tue May 02 17:39:23.955927 2017] [wsgi:error] [pid 24744:tid 140135528146688] DistributionNotFound: The 'ckan' distribution was not found and is required by the application

有人可以帮我解决这个问题吗?提前致谢

PS:使用贴纸服务时,CKAN网站加载正常

apache mod-wsgi rhel ckan
1个回答
1
投票

谢谢Graham Dumpleton。链接有帮助。问题是由于安装了不同版本的pythons和虚拟环境路径。我添加并设置了适当的虚拟环境的路径。

步骤1)激活虚拟环境

步骤2)执行以下命令以了解虚拟环境的路径

    python -c 'import sys; print(sys.prefix)'

步骤3)在ckan_default.conf文件中添加以下行(在虚拟主机之前)

    WSGIPythonHome <path you got in step 2>

步骤4)重启apache

© www.soinside.com 2019 - 2024. All rights reserved.