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. dagel0102
    20.10.09
  2. cgoing
    cgoing / 2020.09.30
  3. 반달곰
    똑같은 상황이었는데요...
    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' '
              • Semjid Bolooj
                완성 너무 감사합니다
              • iamm00n
                웹쪽은 전혀 몰라 헤매고 있었는데, 큰도움이 되었습니다. 정말 감사합니다.
              • 기쁘다 #! 뒤 python 이 아닌 실제 python이 있는 위치 주소를 복사해서 붙여넣으니 4.0이 나왔네요 댓글로 해결법 써주신 많은 분들 너무 감사합니다. 순간 포기하려다 찾아보니 이런 행운이.. 집단지성 화이팅입니다. 파이썬도 화이팅해서 정진하겠습니다!!
              • 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>
                  • 동동
                    어후 별짓 다했더니 드디어 됫당
                  버전 관리
                  egoing
                  현재 버전
                  선택 버전
                  graphittie 자세히 보기