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. 야옹스
    20211012 CGI 완료
  2. 권홍석
    2021.9.21 완료
  3. 2021.09.08 완료
  4. 악동
    http.conf 파일을 메모장으로 열기 하시고 저장하기 누른다음에 닫고 다시 서버 껐다 켜보세요.
    대화보기
    • 묭구리
      컴터로파이썬
    • 밥상
      저도 경로 문제로 에러가 났는데, user\user\appaplication\program이라는 이상한 곳에 있어서 C:\드라이브 위치에다가 아예 다시 설치했습니다.
      그래서 결국 첫 줄에는 " #!C:\Python\Python.exe "을 입력했고 잘 되네요 ㅎㅎ

      이전에도 입력, 출력 관련해서 경로 문제가 많았는데, 새삼 프로그램에서 경로를 분명하게 하는 것이 중요한 것 같습니다.
      편하다고 user 폴더, 바탕화면 폴더를 막 썼는데, 오히려 독이 된 것 같았습니다. 이제 웬만한 건 바로 c: 에 넣고 실습은 폴더별로 잘 분류하고 해야겠습니다ㅎㅎㅎㅎ
      대화보기
      • 윤라프
        너무 신기하네요ㅎㅎㅎㅎ
        print("content-type:text/html; charset=UTF-8\n") 이렇게 헤더정보를 print했다고 출력되는게 신기하네요
        print내에 지정하고 싶은 헤더정보를 넣고 출력하면 헤더정보를 보낸다라고 정도만 이해해도 되는걸까요
        너무 신기해서 궁금하네요
      • 스문
        감사합니다 ㅠㅜ
        대화보기
        • 취업기릿
          Hcode 도움으로 바로 해결했습니다!!!
          감사합니다ㅎㅎ
        • 디아
          127.0.0.1로 접속이 안돼요...사이트에서 연결을 거부했다고 나오네요...
        • bitnami 재시작을 하니 apachi가 멈춰 버리네요 방법이 없을까요?
        • 김성률
          마지막 영상 마지막 부분에 사이트 리로드 하면 4.0이 나와야하는데 안나오네요 . 그 전까지는 다 됐습니다...

          python.exe 경로로 바꾸니 됐네요 ㅜㅜ 아래 댓글분들 감사합니다.
        • 초딩 개발자
          2021/05/09
        • 냥이
          2021.05.06 완료
        • 삐따기
          127.0.0.1에 연결이 안되네요...
          어떻게 해야하죠???
          wamp는 방화벽을 문제로 제기하는데... 가르침을 주새요ㅠㅠ
        • 저 역시 Hcode님이 알려준 대로 파이썬으로 가는 경로를 붙여줘야 겨우 되;는군요. 휴,,감사합니다.
          #!C:\Users\philo\AppData\Local\Programs\Python\Python39\python.exe
        • jeisyoon
          2021.04.06 설치 및 연동 Window - OK

          4시간 정도 헤메다가 성공하였습니다.
          어렵네요 ..
        • 박상헌
          와 ㅠㅠ 감사합니다
          여기에 덧붙이면 파일 위치 찾는법은 응용프로그램(뒤에 .exe로 끝나는 파이썬파일)을 우클릭후 속석 보시면 대상이라는 항목옆에 이 프로그램이 있는 위치가 나와요!!
          대화보기
          • 오징어
            안녕하세요
            vscode 에서 htdocs 폴더 연 후 index.html 내용을 수정 하고 저장을 눌렀는데 권한 부족으로 저장 실패가 뜨고
            관리자로 다시 시도해도 User did not grant permission이 뜨네요...어떻게 해결해야 할까요...?
          • [client 127.0.0.1:64802] couldn't create child process: 720005: helloworld.py <<이와 같은 에러가 뜨시는분들은

            영상에서 #!python <<이 부분을 실제 컴퓨터에 python.exe 가 설치되어있는 경로로 변경해주시면됩니다

            #!C:\Users\name\AppData\Local\Programs\Python\Python39\python.exe

            위에서 name 과 python39 이 부분을 경로에 맞게 변경하여주셔서 적용해보세요!
          • 다음날 실습하려고 다시 cmd 들어가서 하는데 되네요....?
            그냥 재부팅하면 되는건지
            아니면 전 원화(\) 나오는걸 백슬래쉬로 바꿔서 그 영향이 있는건지는 모르겠어요.
            대화보기
            • 저도요!!!! 해결하고 싶은데 구글링 해도 모르겠네요;;;
              그래서 그냥 파일 경로 찾아서 복사 붙여넣기 하고 있어요.
              이 찝찝하게 넘어가는 느낌... 이 강의 듣는 사람들은 다 window 환경일 텐데, 뭐가 문제일까요...?

              그래도 다른 건 끝까지 잘 실행이 되서 안도하며 일단 지나갑니다.
              아시는 분 해결법 뙇 던져주시고 가셨으면 좋겠네요. ㅎㅅㅎ
              대화보기
              • 파이딴
                SyntaxError: Non-UTF-8 code starting with '\\xed' in file C:\\Bitnami\\wampstack-8.0.2-0\\apache2\\htdocs\\index.py on line 32, but no encoding declared; see http://python.org......63/ for details\r: C:/Bitnami/wampstack-8.0.2-0/apache2/htdocs/index.py

                이런 오류 나오는데 어떻게 해야되나요?

                127.0.0.1/helloworld.py
                에서는 웹브라우저에 4.0이 나오는데

                127.0.0.1/index.py
                에서는 Internal Server Error 가 뜨고 오류내용은 위와 같습니다
              • 황현석
                강의를 보고 따라하다가 2번째 영상 10분 40초대 과정에서 막혔습니다.
                cmd창을 열고 cd|bitnami|wampstack-7.4.14-0|apache2|htdoc 입력을 했는데 cmd창에서 입력 결과로

                'Bitnami'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
                배치 파일이 아닙니다.

                가 자꾸 떠서 구글링을 통해 환경변수에도 추가해봤는데 잘 안됩니다ㅠㅠ 이 문제를 해결하신분이 계시다면 한번만 살려주세요 ㅠㅠ 부탁드립니다..
              • 저는 wamp 서버를 stop 해버리면 재시작이 안 되어요 ㅠㅠ 저같은 오류 있으신 분 있나요
              • 나비
                아톰에서 helloworld.py 생성이 안되는 분 계신가요? operaton not permitted라고 계속 나오네요ㅠㅠ
              • 나이스!
              • 보라
                python.exe 경로를 넣으니 잘 되네요. 감사합니다!
              • night_eon
                안녕하세요 저도 같은 오류로 고민을 했는데 제가 해결했던 방법은
                #!D:\PYTHON\python.exe 이렇게 파이썬이 설치된 경로를 적어줬어요
                강의 따라 #!python만 했을 때 오류가 나서 검색을 좀 했는데 파이썬 응용프로그램이 설치된 경로를 적어주면 된다고 나오더라구요 !! 꼭 해결 하셨으면 좋겠습니당 !!
                대화보기
                • 최고우수
                  helloworld.py 파일 첫번째 줄에
                  #!python 대신에 python.exe 파일이 있는 설치 경로로 수정하니 실행되네요..

                  저도 밑에 댓글보고 해결했어요! 똑같은 에러 해결했습니다!
                  대화보기
                  • [Sun Jan 03 15:24:13.524313 2021] [cgi:error] [pid 16720:tid 1172] (OS 193)%1��(��) �ùٸ� Win32 ���� ���α׷��� �ƴմϴ�. : [client 127.0.0.1:60598] couldn't create child process: 720193: hiwd.py
                    [Sun Jan 03 15:24:13.525309 2021] [cgi:error] [pid 16720:tid 1172] (OS 193)%1��(��) �ùٸ� Win32 ���� ���α׷��� �ƴմϴ�. : [client 127.0.0.1:60598] AH01223: couldn't spawn child process: C:/Bitnami/wampstack-8.0.0-1/apache2/htdocs/hiwd.py
                    라는 오류가 뜨는데 도와주세요 ㅠㅠ
                  • 박민지
                    html로 들어가서 그런거였네요.....ㅠㅠㅠㅠㅠ 파이썬 파일로 들어가니까 됐습니다
                    대화보기
                    • 박민지
                      httpd.conf 파일에 python 관련 코드를 추가하고 웹서버 재시작 까지는 잘 되요. 그런데 오류 화면이 뜨지 않습니다. httpd 파일 내용은 코드 제대로 추가 되있어요. 왜 이럴까요....같은 부분에서 안되시는 분 계신가요???
                    • 201231
                      C:\Bitnami\wampstack-8.0.0-1 버전인데 동영상대로 따라하니 잘되네요 ^^;
                    • siba2z
                      2020.12.12
                    • 리플
                      2020.12.10
                    • 감사합니다. 이제야 잘 됩니다
                    • audio_video_disco
                      20201108 시작
                    • 모다피님께,,
                      저도 같은 곤란에 빠졌는데, 모다피님은 어덯게 해결하셨는지요?
                    • dagel0102
                      20.10.09
                    • cgoing
                      cgoing / 2020.09.30
                    • 반달곰
                      똑같은 상황이었는데요...
                      helloworld.py파일을 cgi-bin폴더에 넣으면 정상이 됩니다.
                      htdocs폴더에 넣어도 되도록하는 방법은 못 찾았습니다.
                      대화보기
                      • 황보람
                        감사합니다!!!!ㅠㅠ^^
                        대화보기
                        • jiyeong
                          2020.08.31.새벽한시에 끝냄. (백업해둔 파일에 작성을 해놔서 찾느라 애먹음 .. )
                        • 탱크빵야
                          <AH01223: couldn't spawn child process: C:/Bitnami/wampstack-7.3.10-0/apache2/htdocs/helloworld.py 에러가 나시는 분들은 참조해보세요.>

                          밑에 @Baemaek 님 글 참고하세요~
                        • 김민규
                          [Thu Aug 06 10:01:30.897037 2020] [cgi:error] [pid 1240:tid 1116] [client 127.0.0.1:5298] End of script output before headers: helloworld.py, referer: http://127.0.0.1/
                          이 오류는 어떻게 해야할까요 ㅠ 밑에 있는 해결책 다 해봤는데 안되요 ㅠ
                        • 장정민
                          즐코~즐코~
                        • 모다피
                          예전에도 생활코딩에서 파이썬 공부할 때 맨 처음 단계인 이게 안돼서 더 공부를 못했습니다..운영자님이 보신다면 알려주시면 정말 감사하겠습니다 진짜 포기하고싶지 않은데 주변에 알려줄 사람이 없어요
                          대화보기
                          • 모다피
                            에러를 지웠는데도 아무것도 뜨지 않습니다. 에러에 아무 문자도 없어요..어떻게 해결해야 할까요?
                            대화보기
                            • 모다피
                              http://127.0.0.1.......py 에서 4.0이 안나오고

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

                              이거 그대로 나옵니다. 하라는대로 다 했는데...이거 어떻게 해결할까요? 끝까지 오류 없이 다 했는데 안나오니까 너무 답답해요.....포기하고 싶지 않은데 아시는 분 댓글 부탁드립니다..
                            버전 관리
                            egoing
                            현재 버전
                            선택 버전
                            graphittie 자세히 보기