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. Inyeong Gim
    학점 4.0 맞은느낌!
  2. 감사합니다! </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 잡기 힘들어요...ㅠㅠ
          • 김대빵
            집에서 되고, 회사는 안 되요.
          • 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 추가) 확인 확인 확인.
                    • 하아
                      에러로그가 새로 안만들어져요ㅠㅠ 왜일까요ㅠㅠ
                    • 민턴쟁이
                      된다 된다 된다.. 야호~~~
                    • ㅠㅠ
                      아니 똑같이 하는데 왜 안되는거지...
                    • progbe
                      2018.08.29_21:20
                    • EliaCoding
                      앗 감사합니당 저도도움받았어요 ><
                      대화보기
                      • 이경호
                        저도 동일한 에러가 났었는데 맨 첫줄 #!python -> #!C:\Program Files\Python37\python.exe 변경해주었더니 잘 되네요.
                        대화보기
                        • tab키 누르면 다음 문자 바로 형성된다고 하셨는데 제가 누르면 띵띵 소리만 나고 아무것도 안떠용 ㅠㅠ
                        • 학생
                          아톰에서 작성한 a=3+4+5 b=a/3 print(b)라는 텍스트가 cmd에서 붙여넣기되지 않고 "^V" 라고만 뜨는데 이거는 뭐가 잘못된건가요??ㅠㅠ
                        • 미래학자
                          안녕하세요. 잘 수강했습니다.
                          다만. 저만 그런지 모르겠지만 화면의 글들이 잘 안보이던데.....본래 그런건가요?
                        • DontSettleforless
                          주안아빠님대로 해서 해결했씁니다.
                          대화보기
                          • DontSettleforless
                            환경변수 설정을 어디서해요??
                            대화보기
                            • DontSettleforless
                              이고잉님 하는데로 똑같이 따라했는데
                              [Sun Jul 15 18:31:26.074640 2018] [cgi:error] [pid 83904:tid 1244] (OS 2)������ ������ ã�� �� �����ϴ�. : [client 127.0.0.1:56009] AH01223: couldn't spawn child process: C:/Bitnami/wampstack-7.1.19-1/apache2/htdocs/hipython.py
                              [Sun Jul 15 18:31:26.215008 2018] [cgi:error] [pid 83904:tid 1252] (OS 2)������ ������ ã�� �� �����ϴ�. : [client 127.0.0.1:56010] couldn't create child process: 720002: hipython.py
                              이런 오류가 발생합니다..ㅠㅠㅠ 도와주세요ㅠㅠㅠㅠ
                            • 한장현
                              정말 감사합니다!!
                              덕분에 오류 해결했습니다~~
                              대화보기
                              • 송진영
                                잘 봤습니다 감사합니다!
                              • 송진영
                                겨우겨우 됐네요 감사합니다 ㅎㅎ
                              • 동화나라
                                주안아빠님 정말 감사합니다ㅠㅠㅠㅠ
                              • 설렁탕
                                컴퓨터를 다시 껏다 키니깐 잘 되네요 ㅎㅎ
                              • 김형균
                                주안아빠님 덕분에 문제 해결했습니다 감사합니다
                                대화보기
                                • SongSong
                                  cmd 창에 helloworld.py 입력하면 정상적으로 출력됩니다
                                  하지만 계속 똑같은 에러가 뜹니다 ㅠㅠ
                                  대화보기
                                  • SongSong
                                    생활코딩의 웹에플리케이션 수업 만들기 완강하고 파이썬 입문하러 왔습니다.
                                    AH01222: don't know how to spawn child process 에러.

                                    주안아버님 방법도 그대로 해보고,
                                    밑에 이우현님 방법도 해보고,
                                    파이썬 지웠다가 다시 깔아보기도하고
                                    구글에 검색도 해보고있는데...
                                    지금 3시간째 설치에서 막혀있네요 .. 도와주세요
                                    설치하느라 시간 계속 잡아먹히네요 진전도 없고
                                  • 이우현
                                    python cgi couldn't create child process
                                    AH01223: couldn't spawn child process

                                    환경변수 설정에서 시스템 Path에 python.exe 설치되어있는 경로 추가하니까 해결되었습니다.
                                  • Simon Kim
                                    근데 아톰 에디터에는 text 라고 제대로 입력 했는데 오류 로그에는 ttext 로 뜬다고 하네요 ㅠ
                                    대화보기
                                    • egoing
                                      ttext 가 오타 같습니다
                                      대화보기
                                      • Simon Kim
                                        error 로그에 Bad header: Content-Type\ttext/html; charse 이렇게 뜨면서 안됩니다.. 동영상 그대로 따라 했는데 뭐가 문제 일까요 ㅠ
                                      • Starting 64 worker threads.
                                        에러가 뜨네요...ㅠㅠ
                                      • 유재준
                                        저도 주안아버님.. JK 님 글을 읽고. 다시 설치 및 설정해서 끝냈습니다.
                                        1. C 드라이브 아니면,, 경로 다 넣어야 하고.
                                        2. C 드라이브에 자동설치 하신분들은 수동설치 하셔서 드라이브를 User 말고, Program 밑으로 설정하시면
                                        잘 됩니다. ^^/
                                      • Avatar
                                        본인의 couldn't spawn child process 에러 해결방법

                                        <Files "*.py">
                                        Options ExecCGI
                                        AddHandler cgi-script .py
                                        </Files>

                                        이 코드 작성하실때 ExecCGI 앞에 +를 붙여보시겠어요?

                                        <Files "*.py">
                                        Options +ExecCGI
                                        AddHandler cgi-script .py
                                        </Files>

                                        이렇게 작성하면 되는것 같아요.
                                        <Directory>태그 안에 Options가 이미 사용되어있는데
                                        또다른 태그를 작성해서 Options를 한번더 추가하려면 +를 붙여야하는것같습니다.

                                        그러면 일일이 경로를 입력하지 않고 #!python으로도 작동됩니다.
                                      버전 관리
                                      egoing
                                      현재 버전
                                      선택 버전
                                      graphittie 자세히 보기