웹사이트 검색

Ubuntu 20.04에서 Apache 및 mod_wsgi로 Python 스크립트를 실행하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • Ubuntu 22.04(Jammy Jellyfish)
  • Ubuntu 20.04(Focal Fossa)

이 페이지에서

  1. 전제 조건
  2. 시작하기\n
  3. Python 설치
  4. Apache 및 mod_wsgi 설치
  5. mod_wsgi용 Apache 구성
  6. mod-wsgi 테스트
  7. 결론

mod_wsgi는 Apache에서 Python 기반 웹 애플리케이션을 호스팅하기 위한 인터페이스를 제공하는 Apache 모듈입니다. 웹 호스팅 서비스에서 실행되는 일반적인 자체 관리 개인 사이트뿐만 아니라 고성능 프로덕션 웹 사이트를 호스팅하는 데 사용하기에 적합합니다. mod_wsgi를 사용하여 Django, Web.py, Werkzug, Chery.py, TurboGears 및 Flask와 같은 프레임워크 및 도구로 작성된 애플리케이션을 쉽게 배포할 수 있습니다.

이 튜토리얼에서는 Ubuntu 20.04 서버에서 Apache 서버로 mod_wsgi를 설치하고 설정하는 방법에 대해 알아봅니다.

전제 조건

  • Ubuntu 20.04를 실행하는 서버.\n
  • 루트 암호는 서버에 구성됩니다.\n

시작하기

시작하기 전에 시스템을 최신 버전으로 업데이트하는 것이 좋습니다. 다음 명령을 사용하여 시스템을 업데이트할 수 있습니다.

apt-get update -y
apt-get upgrade -y

시스템을 업데이트한 후 시스템을 다시 시작하여 변경 사항을 적용하십시오.

파이썬 설치

기본적으로 Python은 Ubuntu 20.04 서버에 사전 설치되어 제공됩니다. 설치되어 있지 않은 경우 다음 명령으로 설치할 수 있습니다.

apt-get install python3 libexpat1 -y

설치가 완료되면 다음 단계로 진행할 수 있습니다.

Apache 및 mod_wsgi 설치

다음으로 Apache 웹 서버와 mod_wsgi Python 모듈을 시스템에 설치해야 합니다. 다음 명령을 실행하여 설치할 수 있습니다.

apt-get install apache2 apache2-utils ssl-cert libapache2-mod-wsgi -y

모든 패키지가 설치되면 다음 단계로 진행할 수 있습니다.

mod_wsgi에 대한 Apache 구성

다음으로 Apache 기본 웹 루트 디렉터리 내에 새 Python 스크립트를 만들고 mod_wsgi Apache 모듈을 통해 제공해야 합니다.

다음 명령으로 만들 수 있습니다.

nano /var/www/html/wsgy.py

다음 줄을 추가합니다.

def application(environ,start_response):
    status = '200 OK'
    html = 'html>\n' \
           '<body>\n' \
           '<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">\n' \
           'Welcome to mod_wsgi Test Page\n' \
           '</div>\n' \
           '</body>\n' \
           '</html>\n'
    response_header = [('Content-type','text/html')]
    start_response(status,response_header)
    return [html]

파일을 저장하고 닫습니다. 그런 다음 다음 명령을 사용하여 파일의 소유권을 www-data로 변경합니다.

chown www-data:www-data /var/www/html/wsgy.py

다음으로 HTTP 프로토콜을 통해 이 파일을 제공할 Apache 가상 호스트 구성 파일을 만듭니다.

nano /etc/apache2/conf-available/wsgi.conf

다음 줄을 추가합니다.

WSGIScriptAlias /wsgi /var/www/html/wsgy.py

파일을 저장하고 닫습니다. 그런 다음 mod-wsgi 구성을 활성화하고 다음 명령을 사용하여 Apache 서비스를 다시 시작합니다.

a2enconf wsgi
systemctl restart apache2

mod-wsgi 테스트

이 시점에서 Apache 웹 서버는 HTTP 프로토콜을 통해 Python 파일을 제공하도록 구성됩니다.

테스트하려면 웹 브라우저를 열고 URL http://your-server-ip/wsgi를 입력하십시오. 다음 화면에 mod-wsgi 테스트 페이지가 표시되어야 합니다.

결론

축하합니다! Ubuntu 20.04 서버에서 mod_wsgi 모듈을 사용하여 Apache 웹 서버에 Python 스크립트를 성공적으로 배포했습니다. 이제 프로덕션 환경에서 Apache 및 mod_wsgi를 사용하여 모든 Python 애플리케이션을 쉽게 배포할 수 있기를 바랍니다.