2013-11-15 4 views
0

파이썬을 사용하기 위해 웹 서버를 설치하고 mod_wsgi을 사용하여 Debian 7 Wheezy에 Apache 2.2.22를 설치했습니다. 초기 페이지를 시작하고 아파치가 내 디렉토리에있는 wsgi 파일의 내용을 표시합니다.파이썬 웹 서버 - mod_wsgi

그러나 파이썬 응용 프로그램을 배포하는 방법에 대해 연구 해본 결과 관리자 중 한 명이 약간 혼란 스럽습니다. 나는 PHP가 필요로하는 것을 말 그대로 설치하고 PHP가 어떻게 작동해야 하는지를 백그라운드에서 설명하고 있습니다.

파이썬과 동일합니까? 나는 내가 가지고있는 wsgi 파일 밖에서 아무 것도 처리하지 못하는 것 같다. 서버에서 "500"오류가 발생하지 않으면 다른 파일에서 가져올 수 없습니다. 나는 Google과 Bing에서이 문제에 대한 답을 찾기 위해 노력했지만 아무것도 찾지 못하거나 내가보고있는 것을 답이라고 생각하지 않습니다.

여러분이 제공 할 수있는 도움에 정말 감사드립니다.

미리 감사드립니다. (코딩을 게시해야하는 경우이를 수행 할 수 있습니다. 코드화 예제가 필요한 경우 무엇이 필요한지 알 수 없습니다.)

답변

1

Python은 PHP와 다릅니다. PHP는 웹 사이트를 공격 할 때마다 프로그램 전체를 실행하지만 Python은 메모리에 상주하는 "작업자 프로세스"를 실행합니다.

이 작업을 수행하려면 일종의 웹 프레임 워크가 필요합니다 (직접 작성할 수도 있지만 다른 사람의 프레임 워크를 사용하면 훨씬 쉽게 만들 수 있습니다). 플라스크는 밝은 색의 예입니다. 장고는 매우 무거운 것의 예입니다. 하나를 선택하고 해당 프레임 워크의 지침을 따르거나 해당 프레임 워크에 대한 자습서를 찾으십시오. 프레임 워크가 다르므로 파이썬으로 웹 서비스를 처리하는 데 대한 가장 실용적인 문서는 언어 자체가 아닌 프레임 워크에 초점을 맞추고 있습니다.

거의 모든 파이썬 웹 프레임 워크에는 로컬에서 실행할 수있는 개발 서버가 있기 때문에 아직 배포하는 것에 대해 걱정할 필요가 없습니다. 배포 할 준비가되면 Apache가 작동하지만 Gunicorn 또는 다른 Python 전용 웹 서버를 사용하는 것이 더 쉽고 더 쉬울 지 몰라도 더 많은 웹 서버 기능이 필요하면 nginx 또는 Apache를 역방향 프록시로 설정하십시오. Apache는 wsgi 기능 이외에는 사용하기가 매우 무거운 응용 프로그램입니다. 또한 Heroku와 같은 PaaS 서비스 (개발 작업에는 무료이며 프로덕션 애플리케이션에 대한 비용)에 배포 할 수있는 옵션이 있습니다.이 서비스는 많은 시스템 관리 작업을 처리합니다.

파이어 폭스 환경을 설정하기 위해 virtualenv를 사용하지 않는다면, 살펴 봐야합니다. 설치 한 항목을 추적하고 새 패키지를 설치하고 환경을 격리하여 동일한 컴퓨터의 여러 프로젝트에서 작업 할 수있게합니다.

+0

답장을 보내 주셔서 감사합니다. 나는 프레임 워크를 배치하는 것에 대해 생각해 왔지만 필요하지 않은 한 그렇게하고 싶지 않았다. (필자가 읽은 모든 문서는 프레임 워크에 대한 참조로 가득 차 있습니다.) WSGI 응용 프로그램을 배포 할 때 컴파일 된 프로그램을 배포하는 것과 거의 비슷합니까? 필자는 PHP가 해석되는 것을 알고 있지만 파이썬 예제는 컴파일 된 프로그램과 거의 비슷하게 동작한다는 것을 나타냅니다. - 죄송합니다. 더 많은 독서를했으며 파이썬이 해석되었다고 말했습니다. – kccoers

+0

파이썬은 실제로 해석되지만 요청을 처리하는 모델은 PHP와 다릅니다. 파이썬에서 작업자 프로세스는 코드가 메모리에로드되고, 모든 설정을 수행하고, 필요한 라이브러리를 가져 오며, 요청이 처리되기 전에 가져옵니다. 그런 다음 요청이 들어 와서 웹 서버에 도달하면 이미 실행중인 작업자 프로세스로 전달되어 응답하고 웹 서버에 응답을 보냅니다. PHP에서는 요청이 들어오고 PHP 응용 프로그램이로드 될 때마다 실행되고 반응하며 매번 종료됩니다. –

+0

나중에, 내 프로젝트를 시작하기 위해 나에게 주신 통찰력을 정말 고맙게 생각한다. – kccoers

관련 문제