우분투 아파치2 에러로그 call to 'site.addsitedir()' failed for '(null)' stopping

조회수 1041회

카카오톡 봇 개발을 위해

http://sigool.tistory.com/4?category=647610

페이지를 참고해서

AWS 우분투 서버에

터미널로

pip install Django

sudo apt-get install appache2

sudo apt-get install libapache2-mod-wsgi-py3

를 해서 서버를 구축했습니다.

그다음에 프로젝트와 앱폴더를 파이선 venv로 만들었고

아파치2 000-deafult.conf 내용은 이렇습니다 ///////////////////////////////////////////////////////////////////////////////////////////// WSGIDaemonProcess bot python-path=/home/ubuntu/Django/bot:/home/ubuntu/Django/myvenv/lib/python3.5/site-packages

<버츄얼 호스트 *:80>

ServerAdmin webmaster@localhost
WSGIScriptAlias /52.78.108.223 /home/ubuntu/Django/bot/wsgi.py
<Directory /home/ubuntu/Django/bot>
<Files wsgi.py>
        Require all granted
</Files>
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<버츄얼 호스트> //////////////////////////////////////////////////////////////////////////////////////////////////////////

경로 설정이랑 다 맞고 오타 하나도 없습니다. WSGIDaemonProcess 구문을 <버츄얼 호스트>안에다 넣어도 똑같습니다.

그리고 WSGIScriptAlias / 첫번째 인수에 원래는 공백으로 넣어야 되는데 공백으로 넣으면 저 IP를 쳤을때 it walked 페이지가 안뜹니다. 그래서 서버 외부IP를 넣었습니다. 그랬더니 it walked 가 잘뜹니다.

52.78.108.223/keyboard 를 주소창에 쳣을때

Not Found The requested URL /keyboard was not found on this server.

Apache/2.4.18 (Ubuntu) Server at 52.78.108.223 Port 80

라고 뜹니다. 아파치2 에러로그를 살펴보면

[Wed May 02 21:32:28.100569 2018] [wsgi:warn] [pid 22648:tid 140282945054592] mod_wsgi: Compiled for Python/3.5.1+.

[Wed May 02 21:32:28.100633 2018] [wsgi:warn] [pid 22648:tid 140282945054592] mod_wsgi: Runtime using Python/3.5.2.

[Wed May 02 21:32:28.101406 2018] [mpm_event:notice] [pid 22648:tid 140282945054592] AH00489: Apache/2.4.18 (Ubuntu) mod_wsgi/4.3.0 Python/3.5.2 configured -- resuming normal operations

[Wed May 02 21:32:28.101426 2018] [core:notice] [pid 22648:tid 140282945054592] AH00094: Command line: '/usr/sbin/apache2'

[Wed May 02 21:32:28.191175 2018] [wsgi:error] [pid 22651:tid 140282945054592] mod_wsgi (pid=22651): Call to 'site.addsitedir()' failed for '(null)', stopping.

[Wed May 02 21:32:28.192041 2018] [wsgi:error] [pid 22651:tid 140282945054592] mod_wsgi (pid=22651): Call to 'site.addsitedir()' failed for '/home/ubuntu/Django/myvenv/lib/python3.5/site-packages'.

[Wed May 02 21:33:21.733277 2018] [mpm_event:notice] [pid 22648:tid 140282945054592] AH00494: SIGHUP received. Attempting to restart

[Wed May 02 21:33:21.787095 2018] [wsgi:warn] [pid 22648:tid 140282945054592] mod_wsgi: Compiled for Python/3.5.1+.

[Wed May 02 21:33:21.787410 2018] [wsgi:warn] [pid 22648:tid 140282945054592] mod_wsgi: Runtime using Python/3.5.2.

[Wed May 02 21:33:21.788397 2018] [mpm_event:notice] [pid 22648:tid 140282945054592] AH00489: Apache/2.4.18 (Ubuntu) mod_wsgi/4.3.0 Python/3.5.2 configured -- resuming normal operations

[Wed May 02 21:33:21.788447 2018] [core:notice] [pid 22648:tid 140282945054592] AH00094: Command line: '/usr/sbin/apache2'

[Wed May 02 21:33:21.860854 2018] [wsgi:error] [pid 22781:tid 140282945054592] mod_wsgi (pid=22781): Call to 'site.addsitedir()' failed for '(null)', stopping.

[Wed May 02 21:33:21.860889 2018] [wsgi:error] [pid 22781:tid 140282945054592] mod_wsgi (pid=22781): Call to 'site.addsitedir()' failed for '/home/ubuntu/Django/myvenv/lib/python3.5/site-packages'.

라고 뜹니다.

아마도 Call to 'site.addsitedir()' failed for '(null)', stopping. 이 부분인거 같은데

구글링으로 찾아본 바로 WSGI의 버전이 낮아서 그렇다고 들었습니다.

sudo apt-get install libapache2-mod-wsgi-py3

이걸로 설치한 wsgi 는 로그를 봤을때 4.3.0 인것같습니다.

pip mod_wsgi 로 wsgi 설치하려 들면 오류가 떠서 설치가 안됩니다. 'missing apache httpd server packages.' % arx

https://modwsgi.readthedocs.io/en/develop/release-notes/version-4.6.4.html 에서 wsgi 4.6.4 다운받아서 압축풀고 폴더로 가서

python setup.py install 해도 똑같은 오류가 뜹니다.

카카오톡 플러스친구 api test 에서는 당연히 keyboard fail 415 가 떠서 안됩니다.

제 생각에는 wsgi가 버전이 낮아서 아파치 call to sit.addsitdir() 오류가 나서

/keyboard로 접속이 안되는 것 같습니다.

wsgi 를 설치할려 그러면

'missing apache httpd server packages.' % arx

오류가 뜨는데 어떻게 하면 되겠습니까??ㅠㅠ

sudo apt-get install libapache2-mod-wsgi-py3

이 구문으로 설치한 wsgi는 아파치 모듈이라서 정상적으로 설치가 된걸까요?? ㅠㅠ

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)