안되면되게하자
안되면되게하자
안되면되게하자
전체 방문자
오늘
어제
  • 분류 전체보기 (36)
    • Linux (1)
    • Troubleshooting (13)
    • TIP (9)
    • etc(미분류) (6)
    • 용어.약어들 (2)
    • 티스토리시작전셋팅 (4)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 그림 붙이기 문제 해결 되었나
  • VxRail
  • pip3
  • Ansible
  • xsos
  • webapp2
  • devtoolset
  • jinja2
  • Received message too long
  • centos
  • 티스토리 다시 시작
  • iDRAC9
  • 20TB
  • PIP
  • R730
  • Dell
  • grafana
  • +1 647 477 8345
  • iDRAC8
  • ST20000NE000

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
안되면되게하자

안되면되게하자

[python] mod_wsgi 설치시 error: Python.h: No such file or directory
Troubleshooting

[python] mod_wsgi 설치시 error: Python.h: No such file or directory

2022. 2. 18. 09:25

WSGI(Web Server Gateway Interface)란?
 => 서버와 웹 애플리케이션의 인터페이스를 위한 파이선 프레임워크다.
      즉, 웹서버(Apache)와 Flask 어플리케이션을 연동해주기 위한 프레임워크이다.

- 다운을 받고
$ wget https://github.com/GrahamDumpleton/mod_wsgi/archive/3.5.tar.gz
- 압축을 푼 다음
$ tar -zxvf 3.5.tar.gz
- 폴더에 들어가서
$ cd mod_wsgi-3.5
- 아파치의 빌드툴인 apxs의 경로를 설정해주고
- 필자와 같이 기본 python 버전을 사용하지 않을꺼라면 꼭 python경로를 설정해줘야 한다! (중요)
$ ./configure --with-apxs=/~~~/apps/apache/bin/apxs --with-python=/usr/bin/python3.6
- make 파일을 만들고
$ make
- 설치~
$ make install​

이렇게 설치를 하면 자동으로 아파치 하위 /modules 폴더안에 mod_wsgi.so 파일이 생긴다.

Apache httpd.conf 설정

Aapche에 mod_wsgi 모듈이 생겼고, 이를 적용하기 위해서 httd.conf 아파치 기본설정 파일을 수정해야 한다.
자세한 내용은 공식 홈페이지를 참고하는걸 추천한다.
- 모듈을 사용하겠다고 정의
LoadModule wsgi_module modules/mod_wsgi.so
- mod_wsgi로 실행한 WSGI 파이썬 어플리케이션을 특정 URL( / )로 설정하기 위해 다음과 같이 등록해준다.
WSGIScriptAlias / /~~~/python_app/hello_world.wsgi
- 등록된 파이썬 어플리케이션을 데몬 프로세스로 실행하기위해 다음과 같이 설정해준다.
WSGIDaemonProcess hello_world(어플리케이션 명) user=계정명 group=계정명 threads=5(스레드 개수)

<Directory /~~~/python_app>
  WSGIApplicationGroup %{GLOBAL} # 해당 어플리케이션을 처리하는 프로세스에서 첫번째로 생성된 파이썬 인터프리터를 사용
  Order deny,allow
  Allow from all
</Directory>

 

module 적용 확인

[root@DNS_TEST src]# httpd -D DUMP_MODULES | grep wsgi
 proxy_uwsgi_module (shared)
 wsgi_module (shared)
[root@DNS_TEST src]#

 

 

 

# 출처 : https://modwsgi.readthedocs.io/en/master/user-guides/installation-issues.html

mod_wsgi를 설치 하려면 헤더 파일을 포함하여 전체 Python 배포를 설치해야 합니다. 바이너리 Python 패키지가 런타임 패키지와 개발자 패키지로 분할되는 Linux 배포판에서는 개발자 패키지가 기본적으로 설치되지 않는 경우가 많습니다. 즉, mod_wsgi를 설치 하는데 필요한 헤더 파일이 누락됩니다. 
개발자 패키지가 설치되지 않은 경우 표시되는 오류 메시지의 예는 다음과 같습니다.

 


문제를 해결하려면 설치한 Python 런타임 패키지에 해당하는 Python용 개발자 패키지를 설치합니다. 개발자 패키지의 이름은 Linux 배포판마다 다를 수 있습니다. 일반적으로 패키지 이름에 추가된 Python 런타임 패키지와 동일한 이름을 갖습니다 -dev. 설치할 패키지의 실제 이름을 결정하려면 패키징 시스템에서 사용 가능한 패키지 목록을 조회해야 합니다.

ex)

yum install python-devel

저작자표시 비영리 (새창열림)

'Troubleshooting' 카테고리의 다른 글

[yum] error : File "/usr/bin/yum", line 30  (0) 2022.03.04
[win10] 원격 데스크탑 연결 인증 오류 : CredSSP 암호화 오라클 수정 때문일 수 있습니다.  (0) 2022.03.02
WSL 설치시 "Error: 0x80370102 필요한 기능이 설치되어 있지 않아 가상 머신을 시작할 수 없습니다."  (0) 2022.02.15
go make 실행시 cc1: error: unrecognized command line option "-fno-lto"  (0) 2022.02.11
go build 실행시 go: go.mod file not found in current directory or any parent directory; see 'go help modules'  (0) 2022.02.11
    'Troubleshooting' 카테고리의 다른 글
    • [yum] error : File "/usr/bin/yum", line 30
    • [win10] 원격 데스크탑 연결 인증 오류 : CredSSP 암호화 오라클 수정 때문일 수 있습니다.
    • WSL 설치시 "Error: 0x80370102 필요한 기능이 설치되어 있지 않아 가상 머신을 시작할 수 없습니다."
    • go make 실행시 cc1: error: unrecognized command line option "-fno-lto"
    안되면되게하자
    안되면되게하자
    '하라'가 아닌, '하자'.... 스스로.... 방법이 없어서 안되는게 아니다... 방법을 몰라서 안되는것 이리라... 다방면으로 검색하고 알아보자...

    티스토리툴바