WEB2 - Python

설치 및 연동 - Windows

수업소개

이 수업에서는 윈도우즈에서 Python, Apache를 연동해 웹애플리케이션을 구동하는 방법을 살펴봅니다. 

 

 

웹서버 설치

 

 

Python 설치 및 실행

 

 

Apache와 Python을 CGI로 연동하는 방법

아파치의 환경설정 파일을 수정합니다. 필자는 아래의 위치에 파일이 있습니다. 

C:/Bitnami/wampstack-7.1.15-0/apache2/conf/httpd.conf

 

Document root(웹서버가 요청한 파일을 찾는 최상위 디렉토리)에 있는 파일 중 확장자가 py인 파일은 Python으로서 실행 되도록 합니다. 추가한 내용은 5~8행입니다. 

<Directory "C:/Bitnami/wampstack-7.1.15-0/apache2/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    <Files "*.py">
      Options ExecCGI
      AddHandler cgi-script .py
    </Files>
</Directory>

 

mod_cgi 혹은 mod_cgid 기능을 활성화해야 합니다. httpd.conf에서 아래 행이 아래와 같이 #으로 시작한다면 #을 제거해주세요.

#LoadModule cgi_module modules/mod_cgi.so

 

웹서버를 재시작합니다. 

 

python script를 작성합니다. 

/htdocs/helloworld.py

#!python
print("content-type:text/html; charset=UTF-8\n")
print(1+1)

 

접속합니다. 

필자의 경우는 아래 주소였습니다. 자신의 주소에 접속하시면 됩니다. 

http://127.0.0.1/helloworld.py

 

오류가 발생하면 아래 경로에서 오류 메시지를 확인해봅니다. 

C:/Bitnami/wampstack-7.1.15-0/apache2/logs/error.log

 

댓글

댓글 본문
작성자
비밀번호
  1. 워나
    한국말은 끝까지 듣고, 영상은 끝까지 봐야하는데.. 잃어버린 내 30분.. 뭐야 돌려줘요..
    윈도우10 VScode기준 작성
    #!(python설치경로[.exe까지 작성]) //(), []빼고 입력

    a = 3+4+5
    b = a/3
    print ("content-type: text/html; charset=utf-8\n")

    print(b)
  2. 문수영
    저도 아래 에러로 고생을 했는데 python 설치 경로를 시스템 환경 변수에 추가하였더니 해결되었네요, 감사합니다. '[Sun Feb 16 17:41:10.029071 2020] [cgi:error] [pid 6512:tid 1224] (OS 2)지정된 파일을 찾을 수 없습니다. : [client ::1:52905] AH01223: couldn't spawn child process: C:/Bitnami/wampstack-7.3.13-0/apache2/htdocs/helloworld.py' '
  3. Semjid Bolooj
    완성 너무 감사합니다
  4. iamm00n
    웹쪽은 전혀 몰라 헤매고 있었는데, 큰도움이 되었습니다. 정말 감사합니다.
  5. 기쁘다 #! 뒤 python 이 아닌 실제 python이 있는 위치 주소를 복사해서 붙여넣으니 4.0이 나왔네요 댓글로 해결법 써주신 많은 분들 너무 감사합니다. 순간 포기하려다 찾아보니 이런 행운이.. 집단지성 화이팅입니다. 파이썬도 화이팅해서 정진하겠습니다!!
  6. dj bak
    감사합니다!!!
    대화보기
    • dj bak
      항상 좋은강의 감사드립니다 제작자분들!

      그리고 Baemaek님 덕에 오류해결.. 감사합니다:)
    • 칩과데일
      진짜 오래걸리긴했는데 무사히 이상없이 완료했습니다. 감사합니다.
    • ㅁㄴㅇㄹ
      그냥 아예 안되요 ,에러도 안떠요 그냥 소스코드만 보이지 cgi 안보여요
      참고로 코드 똑같이 다 따라했어요
    • ㅁㄴㅇㄹ
      그래도 안되는데요?;;
    • apldeap
      12/22
    • 제발요..
      혹시 파이참이랑 아파치톰캣도 연동가능할까요?
    • 쭈니니
      감사합니다. 복받으세요.ㅠㅠ
      대화보기
      • couldn't create child process 이 에러
        #!python 말고 실제 본인 컴퓨터에 python.exe 있는 위치
        #!C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32 여기에 +\python.exe 해서 해결했어요.
      • 성취감
        눈물흘릴뻔했습니다. 너무 기뻐서
      • 쑤우
        수강완료. 감사합니다~
      • 굼벵이
        완료
      • Baemaek
        AH01223: couldn't spawn child process: C:/Bitnami/wampstack-7.3.10-0/apache2/htdocs/helloworld.py 에러가 나시는 분들은 참조해보세요.

        경로를 찾지 못하는 것은 !#python 부분에 python 대신 python이 설치된 경로를 입력해주면 됩니다.

        python 경로 찾는법: windows key 누르시고 python 입력하시면 python 3.7 (App)이 뜰텐데,
        오른쪽 눌러서 file location 가셔서 해당 파일 속성을 보세요.

        데이터 타입이 .exe 라면 그냥 그 경로를 복사하셔서 #! 뒤에 붙여주시면 되지만,

        대부분의 Shortcut일 경우가 많으실텐데요. 오른쪽 클릭하셔서 속성 > Shortcut 탭을 보시면 Location이 나와있습니다. 복사하셔서 !# 뒤에 붙여주세요.

        example)
        #!C:\Users\myname\AppData\Local\Programs\Python\Python37\python.exe
        a = 3 + 4 + 5
        b = a/3
        print("content-type: text/html; charset=utf-8\n")
        print(b)

        저장 후 브라우저 새로고침
      • 김광민
        AH01223 에러 해결
        해결방안1 : 파이썬 재설치 ->helloworld.py폴더 내용중 해당 부분 수정 #!python -> 올경로/python.exe로 변경
        해결방안2 : 환경변수 Path에 파이썬 실행파일 등록
      • 전준용
        Document root를 수정하였으나, 동영상처럼 에러도 뜨지않고 html 파일로만 반환하는 경우가 있습니다.
        이경우 Options ExecCGI 중간에 +를 추가하세요.
        아래와 같습니다.

        <Files "*.py">
        Options +ExecCGI
        AddHandler cgi-script .py
        </Files>
      • 동동
        어후 별짓 다했더니 드디어 됫당
      • 이경석
        감사합니다.
        덕분에 해결책을 찾았네요.
        저 역시 경로를 계속 못찾고 있어서 강제로 넣었더니 되긴 했습니다.
        다만 추후 새로운 파일을 생성할 때마다 위에 경로를 계속 지정해줘야 하는 불편함이 있을 것 같다는 예상이 되네요. 근본적인 해결방안을 다른분께서 제시해 주시길 바래봅니다.

        다시 한 번 감사드립니다.
        대화보기
        • Leo Kim
          비트나미 지우고 다시 깔고 난리치니까 되네요......
        • 에듀케이티드키드
          하 5시간만에됬네...
        • Inyeong Gim
          학점 4.0 맞은느낌!
        • 감사합니다! </Files>로 안닫아서 재시작이 안됐었어요!
          대화보기
          • lshsai
            아나콘다 & 파이참의 경우.... python.exe 위치를 못 찾겠다고 하시면

            #!python --> #!C:\Users\user\Anaconda3\python.exe
            으로 하시면 될것 같네요 ㅎㅎ
            대화보기
            • 밍쿠
              감사합니다!! 되네요!!!!!!!!!!!!!!!!!!!!!!!!!!!!
              대화보기
              • 장은희
                저도 같은 에러 났었는데,
                #!python
                대신
                #!python.exe 파일의 위치 (ex, #!C:\Python36\python.exe)
                를 적으면 됩니다.

                참고: https://stackoverflow.com......ser
                대화보기
                • 김대빵
                  couldn't create child process: 720002: aaa.py
                  [client 127.0.0.1:7865] AH01223: couldn't spawn child process: C:/Bitnami/wampstack-7.1.26-0/apache2/htdocs/aaa.py
                  error 잡기 힘들어요...ㅠㅠ
                • 김대빵
                  집에서 되고, 회사는 안 되요.
                • Ppine
                  C:\Bitnami\wampstack-7.1.25-0\apache2\htdocs>python helloworld.py
                  라고 하면 실행 되지만

                  C:\Bitnami\wampstack-7.1.25-0\apache2\htdocs>helloworld.py
                  라고 하면 실행이 안되는데 이건 왜 그런가요? ㅠ
                • skykim
                  감사합니다~ 잠깐 헤메다가 환경변수 추가해서 웹에서 파이썬 제대로 실행되었어요 ㅎ
                  대화보기
                  • 겨울이_가고_봄이_찾아오죠
                    bitnami 설치 후 apach에 빨간 불이 켜진분은
                    http://yuilovestomato.tistory.com......ami 에서 따라 하면 됩니다.

                    지난 html수업때 댓글에 있더군요
                  • 에러로그 자체가 안뜨는 분.. 저는 127.0.0.1/helloworld.py 계속 들어가봤더니 되네여..atom 이 느려서 그런걸수도 있구 일단 시간갖고 해보시면 별다른 변화주지 않고도 알아서되네요
                  • 좌로보로스
                    OK. helloworld까지 완료.
                  • 희망남
                    감사합니다.
                  • 넓은세상
                    와 감사합니다 덕분에 됐어요!
                    couldn't create child process: 720002 < 이 키워드로 들어왔어요~!
                    대화보기
                    • 이런
                      경로설정을 그렇게 했다는게 아톰에서 첨에 #! 이 부분을 바꿔야한다는 건가요??.. 계쏙 발생해서
                      대화보기
                      • egoing's sun
                        4~5시간동안 에러때문에 고생 하다가 드디어 됬네요
                        밑에분들과 같은 에러가 떠서, 모든 방법을 해보았지만
                        파이썬을 설치할때 이고잉님이 하신대로 안했다가 큰코 다쳤어요 ㅠㅠ
                        만약
                        couldn't create child process: 720002: helloworld.py
                        AH01223: couldn't spawn child process: C:/Bitnami/wampstack-7.1.22-0/apache2/htdocs/helloworld.py

                        에러가 뜨면서 밑에 해결방안들로 해결이 되지 않으신다면
                        1. 저는 파이썬 버젼을 32bit->64bit (이건 상관이 있는지 모르겠습니다)
                        2. 지웠다가 설치할때 install for all users, precompile standard libarary를 체크하여 설치하고 경로설정을 #!python -> #!C:\Program Files\Python37\python.exe 로 했습니다.
                        이전에는 경로를 아무리 잡아줘도 못잡다가 저렇게 설치하니 잡히네요.
                      • 에그시
                        에러창을 새로고침 해도 아무것도 뜨지 않는것은 왜일까요. 운영체제는 윈도우를 사용하고 있습니다..
                      • 코신
                        저도 이렇게 하니 잘 되네요
                        대화보기
                        • 물만난백조
                          저도 에러로그가 안뜨네요.. ㅠㅠ오늘은 여기까지.. 지치니까 내일 다시 시도해봐야겠습니다!
                        • 코드가 치고싶어요
                          이동현님 저도 똑같은 상황이였는데 혹시 httpd의 경로가 original 폴더 안의 httpd를 선택하셔서 수정하신게 아닌지 한번 체크해보세요 저도 강의를 봤을때 httpd가 conf/original 안의 경로인줄 알았는데 아니더라고요
                        • 이동헌
                          저는 에러가 안떠서 문제입니다 ㅜㅜ
                          일단 영상과정대로 똑같이 3번했지만 에러메세지 출력이 안되고, 에러가 안나온상태에서 일단 그대로 진행을 하면 바로 4.0이 출력되지않고

                          a = 3+4+5
                          b = a/3
                          print(b)

                          로 출력됩니다

                          비트나미 설치의 문제인가해서 지우고 다시 C드라이브 경로 확인하고 설치해도 그러네요 ㅜㅜ
                        • 코린이
                          와 감사합니다
                          대화보기
                          • 참고
                            [ couldn't spawn child process ] 오류 발생시

                            (윈10 기준) 제어판-> 시스템 ->고급시스템 설정 -> 환경변수- >사용자 변수와 시스템 변수 중 아래의 시스템 변수 부분의 path를 클릭하고 편집 클릭->새로 만들기 후 파이썬이 깔려있는 경로를 추가 후(예, c드라이브 파이썬 폴더에 깔려있을 경우 C:\python 추가) 확인 확인 확인.
                          • 하아
                            에러로그가 새로 안만들어져요ㅠㅠ 왜일까요ㅠㅠ
                          • 민턴쟁이
                            된다 된다 된다.. 야호~~~
                          • ㅠㅠ
                            아니 똑같이 하는데 왜 안되는거지...
                          버전 관리
                          egoing
                          현재 버전
                          선택 버전
                          graphittie 자세히 보기