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. Scia
    다음날 실습하려고 다시 cmd 들어가서 하는데 되네요....?
    그냥 재부팅하면 되는건지
    아니면 전 원화(\) 나오는걸 백슬래쉬로 바꿔서 그 영향이 있는건지는 모르겠어요.
    대화보기
    • Scia
      저도요!!!! 해결하고 싶은데 구글링 해도 모르겠네요;;;
      그래서 그냥 파일 경로 찾아서 복사 붙여넣기 하고 있어요.
      이 찝찝하게 넘어가는 느낌... 이 강의 듣는 사람들은 다 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'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
        배치 파일이 아닙니다.

        가 자꾸 떠서 구글링을 통해 환경변수에도 추가해봤는데 잘 안됩니다ㅠㅠ 이 문제를 해결하신분이 계시다면 한번만 살려주세요 ㅠㅠ 부탁드립니다..
      • jong
        저는 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)

                      이거 그대로 나옵니다. 하라는대로 다 했는데...이거 어떻게 해결할까요? 끝까지 오류 없이 다 했는데 안나오니까 너무 답답해요.....포기하고 싶지 않은데 아시는 분 댓글 부탁드립니다..
                    • 200725
                    • 20/07/06 시작:)
                    • 니이내이
                      2020/07/01
                      (이전까지 정상적으로 진행)
                      두줄 가량의 error log 확인후 helloworld.py first line에 #!python을 적어줌

                      문제 시작
                      다시 reload했지만 파이참 에디터상의 error.log파일에 물음표가 생기면서 에러 로그 보는것 자체가 불가능해짐.
                      물론 print("content-type: text/html; charset=utf-8\n") 결과도 안뜸.

                      수정사항

                      - 시스템변수 PATH 수정 (from 생활코딩 https://bit.ly/3eK5jPg)
                      : 내컴퓨터 - 속성 - 고급시스템설정 - 환경변수 - 시스템 변수 - Path변수값중 %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\에 ;C:\Program Files (x86)\Python38-32\을 추가해준다.

                      - helloworld.py의 first line을 #!python에서 #!C:\Program Files (x86)\Python38-32\python.exe으로 바꿔주었다.

                      - apache server stopped 문제 (from https://bit.ly/3dKTU0j)
                      C:\Bitnami\wampstack-7.4.7-0\apache2\conf 디렉토리의 httpd 파일을 열어 SetEnv PATH "C:\Bitnami\wampstack-7.4.7-0/apache2/bin;${PATH}"라고 적힌 부분 앞에 #을 붙여준다. 관리자 권한으로 cmd를 켠뒤 cd \를해서 C:로 이동후 cd C:\Bitnami\wampstack-7.4.7-0\apache2\bin로 이동을 한다. 이후 httpd.exe -k install을 치면 됨. 설치돼있으면 httpd.exe -k start을 클릭하면됨. 이제 apache stop후 restart하면됨.

                      -여전히 error.log는 안열린다. apache server도 stopped이다가 running이다가 알수가없다...
                      -물론 4.0은 정상출력되고, cmd상의 문구도 정상적으로 출력된다. 일단 넘어가자.
                    • 개발개발개발
                      64비트 설치해도 되나요??
                    • psyless
                      20200606
                    • newbieno1
                      error.log 에 에러가 뜨지 않는 경우에는 어떻게 해결할 수 있을까요..?
                    • marinelamp
                      오....감사합니다.
                      엄청 해매고 있었는데...
                      진심으로 감사드립니다 ㅠㅠ
                      대화보기
                      • eddylee123456
                        완료
                      • 감사합니다. 파이썬 입문하였습니다 :)
                      • 생초보
                        파이썬이랑 비트나미 하나도 남김없이 싹 지우고 다시깔아서 실행하니까 되네요..ㅠㅠ 뭐가 문제였던건지는 모르겠지만 된다는데 의의를 두려합니다 찝찝한 이 기분..
                        대화보기
                        • 생초보
                          그대로 실행했는데 에러도 안뜨고 값이 바뀌지도 않고 html코드가 그대로 나오는데 어떻게 해야할까요... 퇴근 후 코딩공부가 취미인데 여기에 막혀서 헤매다가 두시간자고 출근하게 생겼습니다...고수님들 도와주세요...
                        • 별짱
                          python 설치 경로를 시스템 환경 변수 바꾸고 재부팅하니 됩니다..
                        • 와 오래 걸렸지만 넘 뿌듯하네요ㅠㅠ
                        • 위처럼 파일 맨 위에 #!python 을 입력하려면
                          시스템 환경변수를 설정해줘야 합니다.
                          https://opentutorials.org......610
                          이걸 따라서 환경변수를 설정해주고, 컴퓨터 재부팅해주시면 해결됩니당.
                          저도 처음엔 안됐는데 재부팅하니까 바로 되네요
                        • 클리퍼
                          에러나고 않되서

                          helloworld.py 파일 첫번째 줄에
                          #!python 대신에 python.exe 파일이 있는 설치 경로로 수정하니 실행되네요..

                          #!C:\Users\user\AppData\Local\Programs\Python\Python38-32\python.exe

                          도와 주신 분들 감사합니다
                        • 악어
                          휴우 됐네요.. PATH도 잡고 python 전체경로도 넣고 안되다가 컴 다시 켜니까 됐네요
                          감사합니다~
                        • 브링스
                          python 전체경로를 입력하면 되는데,,
                          PATH 잡고는 왜 안될까요,,, PATH잡고 성공하신 분들은 바로 정상적으로 되셨나요,,,?
                        • 스티븐잡숴
                          완료
                        • 워나
                          한국말은 끝까지 듣고, 영상은 끝까지 봐야하는데.. 잃어버린 내 30분.. 뭐야 돌려줘요..
                          윈도우10 VScode기준 작성
                          #!(python설치경로[.exe까지 작성]) //(), []빼고 입력

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

                          print(b)
                        • 문수영
                          저도 아래 에러로 고생을 했는데 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' '
                        버전 관리
                        egoing
                        현재 버전
                        선택 버전
                        graphittie 자세히 보기