[생활코딩] Python1

정현석·2020년 10월 8일
0

컴퓨터의 제어 방법

GUI VS Command Line Interface (CLI) 방식 두가지가 있다.

터미널에서 파이썬 실행하기

cd : change directory
자신의 홈 directory는 ~ 표시

ls 파일목록 보기 ls -al 파일목록 자세히보기
mk make의 약자
dir 디렉토리의 약자
ex) mkdir 폴더이름 (폴더생성)

cd/ 가고자 하는 명칭(자동완성은 tap키)
sudo 터미널에서 관리자 권한실행
ex) sudo chmod(권한 변경) a(모든사용자에게)+x(실행권한)

하지만 실행권한을 사용자에게 주더라도 운영체제는 터미널에서 실행한 파일이 어떤 프로그램으로 실행하는지 모르기 때문에 내용만 불러올 수 있다.
이 문제를 해결하려면 파이썬 프로그램 상단에 파이썬 파일경로를 저장해야한다.
ex)#!/Library/Frameworks/Python.framework/Versions/3.8/bin/python3

만약 이 프로그램 파일을 다른 컴퓨터로 옴기거나 파이썬의 버전이 업데이트된 경우 사용이 불가능하므로 코드를 수정해야한다.
ex) #!/usr/bin/env python3(mac os,위닉스 계열만 가능)
env의 프로그램으로 python3 위치를 검색하여 실행하는 기능

웹서버와 python의 연동

apache와 python의 CGI 연동

  1. apache/conf/httpd.conf apche의 설정파일 수정

    LoadModule cgid_module modules/mod_cgid.so (#제거)

  2. DocumentRoot의 Directory 수정 (사용자 요청이 있을 때 DocumentRoot 경로에 있는 디렉토리에서 찾아 실행하라는 명령)

    <Files *.py> // 실행하는 경로 중에 확장자가 py인 파일은
    Options ExecCGI //cgi 기능을 활성 시킨 후
    AddHandler cgi-script .py // cgi로써 실행하라

  3. 웹 서버 재 실행

Internal Server Error

  1. 에러 발생시 log/error_log에서 확인
    cgi 실행 시 #!/usr/bin/env python3 로는 실행프로그램을 찾을 수 없어
    #!/Library/Frameworks/Python.framework/Versions/3.8/bin/python3 이 코드를 상단에 넣어 실행한다.

  2. malformed header from script : Bad header
    이 에러코드는 Response header의 content-type이 맞지 않는 경우 발생

  3. print("content-type:text/html; charset=utf-8\n") 코드를 상단 밑에 작성하여 content-type을 나타내 준다.

drwxr-xr-x 실행권한이 있는 코드
-rw-r--r-- 실행권한이 없는 코드
만약 실행권한이 없는 경우에 웹서버 전송 시 Permission denied 오류 발생
실행권한 코드 확인 필수.

profile
기록하는 벨로그

0개의 댓글

Powered by GraphCDN, the GraphQL CDN