Windows 에서 Flask + Apache 연동

2021. 4. 3. 23:25it

반응형

 

금일은 윈도우에 apache httpd 와 flask를 연동하는 걸 해보겠다.

 

뭔가 계속 에러 나서 뭐지 뭐지 했는데,,,

 

안되면, 재부팅하면 된다.

 

윈도우 이놈은 아직 세팅을 먹이려면 재부팅이 답인거 같다.. 

 

1. visual studio 를 설치해 준다. 

 

다 설치할 필요까지는 없고 visal c++ 빌더만 깔면 된다.

 

비주얼스튜디오 설치 화면

 

2. httpd를 다운 받는다 . 

 

다운 링크는 다음과 같다. 

 

https://www.apachelounge.com/download/

 

그리고 자신의 컴퓨터에 맞는 걸 다운 받는다. 

 

apache 다운로드

 

728x90

 

3. apahce 압축 해지 후 c드라이브로 이동

 

압축을 해지한 뒤, apache24만 c드라이브로 옮겨준다.  

 

 

apache 압축 해지

 

4. cmd를 켜서 mod-wsgi를 다운 받는다. 

 

# pip install mod_wsgi

 

설치과정에서 에러가 난다면, 재부팅해준다. 

 

mod-wsgi 설치 화면

 

반응형

 

5. cmd 창을 관리자 권한으로 실행해 준다. 

 

아래 경로로 이동해서, httpd -k install를 해준다. 

 

# cd C:\Apache24\bin

# httpd –k install

 

6. Apache24 폴더내 폴더와 python 파일을 만들어준다. 

 

여기서 python 파일은 hello world가 출력되는 파일이다.

 

flask > app > hello_world 순으로 생성  ( 아래 이미지 참고 )

 

그리고 hello_world 안에 __init__.py 생성해 준다.  

 

from flask import Flask
app = Flask(__name__)

@app.route("/test")
def hello_world():
    return "Hello World!"

 

 

 

 

 

 

 

7. wsgi이를 만들어 준다. 

 

경로는 다음과 같다.

 

C:\Apache24\flask\app\hello_world.wsgi

 

hello_world.wsgi 파일 내용은 아래와 같다

 

import sys

sys.path.insert(0, 'C:\\Apache24\\flask\\app\\hello_world')

from __init__ import app as application

 

 

8. 다시 cmd 창을 연다. mod_wsgi-express module-config 를 확인한다. 

 

# mod_wsgi-express module-config

 

그럼 아래와 같은 3줄이 나온다. 

 

mod_wsgi -express   module-config 값

 

해당 3줄을 복사해 놓는다. ( httpd.conf 할때 필요 ) 

 

9. httpd.conf 를 수정해 준다. 

 

경로는  Apache24/conf

 

파일 명은 httpd.conf 를 수정해 주면 된다

 

httpd conf 위치

 

9-1. Require all 주석 처리 

 

[ Ctrl + F 해서 Require all ] 검색 후 주석 처리한다. 

 

Require all 주석처리

 

9-2. port 수정

 

Ctrl + F 해서 80 검색 한 후,

 

그럼 아래 사진을 보고 805000으로 바꿔줌

 

LIsten 수정

 

serverName 수정

 

9-3. httpd.conf 맨 아래에 다음 글을 붙여 넣어 준다. 

 

 

8번에서 조회 된 mod_wsgi -express   module-config 값과 

mod_wsgi -express   module-config 값

 

아래 글을 입력해 준다. 

 

WSGIScriptAlias / "C:/Apache24/flask/app/hello_world.wsgi”
<Directory C:/Apache24/flask/app/hello_world>
  WSGIApplicationGroup %{GLOBAL}
  #Require all granted
</Directory>

 

 

 

httpd.conf 수정

 

 

10. httpd를 실행해 준다. 

 

만약 flask 가 없으면, flask를 설치해 준다. 

 

설치 명령어는 다음과 같다.

 

# pip install flask

 

httpd 실행을 위해서 관리자 권한으로 cmd를 실행해 준다. 

 

# httpd –k restart

 

11. hello world를 확인한다.

 

크롬을 실행한 뒤, 주소창에 아래 주소를 입력한다. 

 

# localhost:5000/test

 

hello world 확인

 

 

윈도우로 하면 뭔가 복잡하다..

 

리눅스면 명령어만 쭉 치면 되는데,,,

 

하튼 세팅이 완료되었다.

 

쭉 따라 했다면 큰 문제 없이 실행 되었을 것이다. 

 

 

반응형