2010-07-30 6 views
0

저는 처음으로 Python을 시험해 보는 램프 개발자입니다. 문법을 익히는 데는 괜찮습니다.하지만 은 ' 서버에서 실행하는 방법 알아보기! 나는 다음을 시도했다.PHP 개발자 관점에서 LAMP (CentOS) 서버에서 .py 파일 실행하기

  • 일반 웹/공개 디렉토리에 filename.py을 업로드했다. chmod를 777, 711, 733, 773 ... (실행의 변화)의 cgi-bin으로 상기와 chmod를 같은에서 filename.py을 넣어
  • ... example.com/filename.py를 입력하면

단순히 TEXTFILE로드 - 아무것도에 표시되지 않습니다 컴파일/파싱되었습니다/etc!

간단한 질문에 대한

많은 단어 (여러 다른 디렉토리 중 /usr/bin/python을 보여줍니다 내 서버에 whereis python로 내가 파이썬이 설치되어 생각) - 당신이 CentOS는 서버의 파이썬 파일을 실행 어떻게?

+0

이것은 서버 오류에 있어야합니다. 그러나, 귀하의 코드가 cgi 스크립트인지 아니면 [mod_python] (http://www.modpython.org/)을 사용하는지 알고 있습니까? 동일한 코드를 게시하고 싶을 수 있습니다. cgi 인 경우 [AddHandler] (http://httpd.apache.org/docs/2.2/mod/mod_mime.html) cgi 스크립트 .py를 사용해야 할 수 있습니다. CGI라면 [shebang] (http://en.wikipedia.org/wiki/Shebang_%28Unix%29)도 가지고 있는지 확인하십시오. –

+0

코드는 아직 컴파일되지 않았습니다. 텍스트 파일의 확장자는 .py로 바뀌 었습니다 ... 나는 첫 줄로 shebang을 가지고 있습니다. 스크립트가 mod_python을 사용하는지 어떻게 확인합니까? – ina

+1

@ina 첫째, 파이썬 인터프리터는 파일을 캐시 할 수 있지만 컴파일하지는 않습니다. 둘째, http://www.modpython.org/는 Apache HTTP Server 확장입니다. 파일을 만들 때 어떤 지침을 따라야합니까? –

답변

3

이것은 PHP에서 큰 정신적 변화입니다. 파이썬 파일은 단순히 .php 파일처럼 해석되지 않습니다 [1]. &을 파이썬으로 실행하는 가장 간단한 방법은 Bottle 프레임 워크입니다.

http://docs.python.org/howto/webservers.html을 읽는 동안 짧은 시간을 보내는 것이 좋습니다. 매우 유익합니다.

[1] : 참고 : Python Server Pages와 같은 것이 있지만 널리 사용되지는 않습니다.

+0

즉, http://example.com/filename.py와 같은 주소를 입력하여 파이썬 파일을로드 할 수 없습니까? – ina

+0

PHP 세계에서와 마찬가지로 파이썬 코드와 HTML을 혼합하는 것은 일반적인 관행이 아닙니다. 어떻게 작동하는지 배우는 것에 관심이 있다면 web2py는 배울 수있는 가장 쉬운 전체 기능 Python 웹 프로그래밍 프레임 워크 중 하나입니다. –

+0

음, 디스플레이 용 데이터 형식을 지정하기 위해 PHP를 사용할 계획이지만 PHP가 파이썬 파일을 호출 할 때 필요합니다 ... 수동으로 파이썬 파일이 작동하는지 테스트하는 가장 쉬운 방법은 브라우저의 URL을로드하는 것일 수 있다고 생각합니다. -하지만 병 (?)을 설치하지 않으면 작동하지 않을 것 같아요 ... 어떻게 PHP 파일을 파이썬 파일을 어쨌든 호출합니까? – ina

1

당신은 cgi를 사용할 수 있지만 각 요청에 대해 새로운 프로세스를 시작하기 때문에 성능이 좋지는 않습니다.

보다 효율적인 대안이 FastCGI를 또는 WSGI를 사용할 수 있습니다

세 번째 옵션은 재 작성 규칙

+0

다른 n00b 질문 - miniPython mod_python입니까? – ina

+0

@ina, mini에 의해 나는 병 고치는 것과 같은 것을 의미한다. –

0

내가있을 수 있다는 다른 의견에 동의를 사용하여 미니 파이썬 웹 서버 및 프록시 아파치의 요청을 실행하는 것입니다 파이썬 스크립트를 실행하는보다 효율적인 방법. 파이썬 스크립트를 cgi-bin 디렉토리에 놓기 만하면됩니다. 먼저 httpd.conf 파일을 찾으십시오. 이렇게하는 한 가지 방법은 다음과 같습니다

locate httpd.conf 

httpd.conf 파일이 아마에 CentOS에 대한 /etc/httpd/conf/httpd.conf 파일에 있습니다. 당신이 ScriptedAliased 디렉토리의 외부를 사용합니다 특히, 파일을 편집하고 인식하고 있는지 파이썬 파일을 다음 test.py를 만들기

apachectl restart 

:

AddHandler cgi-script .cgi .py 
는 아파치 웹 서버를 다시 시작

은/var/www /에서의 cgi-bin 디렉토리 안에 파일 (CentOS는 기본값) :

#! /usr/bin/python 
print "Content-type: text/html" 
print "" 
print "Hello, World!" 

당신이 가진 파일을 실행 가능하게 할 것입니다 :

chmod 775 test.py 

그게 모두해야합니다.이제 http : // {your-domain} /cgi-bin/test.py와 그 결과 "Hello, World!"를 방문 할 수 있습니다. 나타나야합니다.

관련 문제