2017-04-15 6 views
1

에 CentOS (CentOS는 6.5)장고 난 내 CentOS는 생산 서버에서 장고 (1.11)과 파이썬 3.5 VIRTUALENV를 설치 6.5

내가 로컬 내가 사용할 수있는 파이썬 manage.py의의 runserver를 사용하여 장고를 시작 아파치 2.2.15에

mod_wsgi (pid=5713): Target WSGI script '/var/www/path/to/site/myapp/wsgi.py' cannot be loaded as Python module. 

이 내 django.conf이다 : 장고는하지만 난 /conf.s/django.conf에 매우 차이 구성을 테스트하지만 난이 오류에 직면 모드 WSGI 와 아파치에 내 장고를 제공 할 수 /etc/httpd/conf.d/django.conf

<VirtualHost *:80> 
WSGIProcessGroup myapp 
WSGIDaemonProcess myapp display-name=%{GROUP} 
ServerName test.com 
ServerAlias www.test.com 
ServerAdmin [email protected] 
DocumentRoot /path/to/root 
WSGIScriptAlias//path/to/root/myapp/wsgi.py 
Alias /static /path/to/root/myapp/static 
ErrorLog /path/to/error.log 
CustomLog /path/to/access.log combined </VirtualHost> 

어떻게이 문제를 해결할 수 있습니까?

+0

mod-wsgi를 어떻게 설치 했습니까? 특정 Python 버전에 대해 컴파일해야합니다. yum을 설치했다면 yum에서 나온 Python 2의 최신 버전을 얻지 못했을 것입니다. – FlipperPA

+0

예, wsgi가 yum과 함께 설치되었습니다. 파이썬 3.5에서 wsgi를 컴파일하려면 어떻게해야합니까? – Arash

답변

0

yum 설치된 버전이 mod_wsgi 인 것 같습니다.이 버전은 매우 오래되어서 Python 2.7에 대해 컴파일되었습니다. Python 3.5 및 mod_wsgi을 설치하는 가장 쉬운 방법은 RedHat 및 CentOS에 대한 최신 패키지를 제공하는 IUS 저장소를 사용하는 것입니다. 나는 당신이 64 비트를 운영하고 있다고 가정 할 것이다.

먼저, EPEL에서 mod_wsgi을 설치 제거 : 파이썬 3.5 mod_wsgi

sudo yum -y install https://centos6.iuscommunity.org/ius-release.rpm 

한번 설치되면, 당신은 설치할 수 있습니다 :

sudo yum -y remove mod_wsgi 

이쪽 IUS 저장소를 설치합니다

sudo yum -y install python35u 
sudo yum -y install python35u-pip 
sudo yum -y install python35u-mod_wsgi 

이 설치됩니다당신이 당신의 아파치 구성에서로드해야 볼 수있는 곳입니다 /usr/lib64/httpd/modules/mod_wsgi_python3.5.so에서:

LoadModule wsgi_module /usr/lib64/httpd/modules/mod_wsgi_python3.5.so 
또한 파이썬 3.5로 virtualenv 점을 만들 때 있는지 확인해야합니다

:

virtualenv -p /usr/bin/python3.5 myapp 

이 모든 기능은 동일한 Python 버전 (3.5)에서 virtualenv를 통해 장고 코드를 실행하고 웹 서버 (mod_wsgi)가 시스템 Python 버전 (CentOS 6의 버전 2.6.6)에 영향을주지 않도록합니다. 행운을 빕니다!