mod\u wsgi를 사용하여 Ubuntu 12.04의 응용 프로그램에 서비스 제공

mod\u wsgi를 사용하여 Ubuntu 12.04의 응용 프로그램에 서비스 제공

2022-06-01 last update

7 minutes reading Django Ubuntu Applications

상태: 비활성화


본고는 더 이상 지원되지 않는 Ubuntu 버전을 소개합니다.현재 실행 중인 서버에서 Ubuntu 12.04를 실행하는 경우 지원되는 Ubuntu 버전으로 업그레이드하거나 마이그레이션하는 것이 좋습니다.
  • Upgrade to Ubuntu 14.04 .
  • Upgrade from Ubuntu 14.04 to Ubuntu 16.04
  • Migrate the server data to a supported version
  • 원인:
    Ubuntu 12.04 reached end of life (EOL) on April 28, 2017, 보안 패치나 업데이트를 더 이상 받지 않습니다.더 이상 이 안내서를 유지하지 않습니다.
    다음을 참조하십시오.
    이 설명서는 참조용으로 여전히 유용할 수 있지만 다른 Ubuntu 버전에서는 사용할 수 없습니다.사용할 수 있는 경우 Ubuntu 버전을 위한 설명서를 사용하는 것이 좋습니다.페이지 상단의 검색 기능을 사용하여 최신 버전을 찾을 수 있습니다.

    선결 조건


    본문을 읽기 전에 이 시리즈의 앞부분을 읽었는지 확인하십시오.여기에서 다음을 확인할 수 있습니다.
    Installing Django on Ubuntu 12.04
    Installing mod_wsgi on Ubuntu 12.04

    Django 응용 프로그램을 만들려면 다음과 같이 하십시오.


    우선, 우리는 메인 디렉터리로 이동할 것이다.
    새 디렉토리를 생성하고 다음으로 전환합니다.
    mkdir-p ~/public\u html/domain1.일반 도메인 이름 형식
    cd ~/public\u html/domain1.일반 도메인 이름 형식
    그런 다음 django-admin.py 도구를 사용하여 프로젝트를 만듭니다.
    django 관리자.py startproject MyTestProject

    가상 호스트 WSGI 파일 만들기(&W):


    Django 응용 프로그램에 서비스를 정확하게 제공하기 위해서, 아파치는 어떤 종류의 요청을mod\u wsgi에 전달해야 한다는 것을 알아야 합니다.wsgi 파일을 만들어mod_wsgi가 이 요청을 처리하는 방법을 알려주는 것도 중요합니다.우리는 이러한 작업을 완성하기 위해 가상 호스트를 설정할 것이다.Apache wsgi 파일의 위치를 알려주고 해당 파일을 설정합니다.
    새 가상 호스트 파일을 엽니다.
    sudo nano/etc/apache2/sites available/domain1.일반 도메인 이름 형식
    다음은 가상 호스트에 대한 다음 정의를 입력합니다.
    <가상 호스트*:80>
    ServerName 도메인 1.일반 도메인 이름 형식
    서버 별칭 www.domain1.일반 도메인 이름 형식
    WSGIScriptAlias//home/username/public\u html/domain1.com/MyTestProject.회사 명

    아파치가 위에서 지정한 wsgi 파일을 사용하고 수신 요청을mod\u wsgi에 전달하도록 지시하면mod\u wsgi 파일 자체를 만들 것입니다.
    nano ~/public\u html/domain1.com/MyTestProject.회사 명
    다음 구성을 입력합니다.
    운영 체제 가져오기
    시스템 가져오기
    시스템경로추가("~/public\uhtml/domain1.com/")
    운영 체제.환경 ['DJANGO\u SETTINGS\u MODULE'] ='My Test Project'.설정
    django를 가져옵니다.과심처리 절차.회사 명
    응용 프로그램 = django.과심처리 절차.wsgi.WSGIHandler()
    이 정의는 필요한 모듈을 가져오도록 합니다.또한 Django 프로젝트의 경로를Python 경로에 추가하고mod\u wsgi 작업을 돕는 변수를 많이 설정합니다.완료되면 가상 호스트를 활성화하고 Apache를 다시 시작해야 합니다.
    sudo a2ensite 도메인 1.일반 도메인 이름 형식
    sudo/etc/init.d/apache2 다시 로드
    만약 모든 것이 정상이라면, 브라우저에서 도메인 (droplet IP) 을 볼 수 있고, 새로 만든 프로그램을 얻을 수 있습니다.NameVirtualHost 또는 포트 오류가 발생하면 Apache를 다시 로드합니다.

    정적 내용


    가상 호스트 정의에 대한 경고가 있습니다.정적 컨텐츠는 지원되지 않습니다.
    정적 내용을 정확하게 제공하기 위해 파일 MyTest Project/settings의 설정을 업데이트할 수 있습니다.py 및 다음 가상 호스트 정의를 사용합니다.
    <가상 호스트*:80>
    ServerName 도메인 1.일반 도메인 이름 형식
    서버 별칭 www.domain1.일반 도메인 이름 형식
    WSGIScriptAlias//home/username/public\u html/domain1.com/MyTestProject.회사 명
    별명/정적//홈페이지/사용자 이름/public\uhtml/도메인 1.com/정적/
    <위치/정적/>
    옵션 - 색인


    Alias 명령은 아파치가 Django나 mod\u wsgi가 도메인의/static/디렉터리에 있는 모든 내용을 처리하는 것을 허용하지 말아야 한다는 것을 알게 합니다.모든 디렉터리를 사용할 수 있지만,/홈/username/public\u html/domain1에서 사용할 수 있는지 확인하십시오.com/.우리의 예시에서 디렉터리의 이름은 정적이다.
    설정을 업데이트합니다.media\u ROOT 및 MEDIA\u URL의 변수를 설정하여 py합니다.
    nano/home/username/public\u html/domain1.com/MyMyTestProject/settings.회사 명
    다음 설정을 찾아 업데이트합니다.
    MEDIA\u ROOT='/home/username/public\u html/domain1.com/정적
    MEDIA\u URL='/정적/'
    마지막으로 Apache를 다시 시작하여 변경 사항을 적용합니다.
    sudo/etc/init.d/apache2 다시 로드
    MEDIA\u 루트 디렉토리의 모든 항목에 액세스할 수 있습니다.http://www.domain1.com/static/path/to/file.

    Django 응용 프로그램 변경 사항


    프로젝트를 변경할 때마다apache를 다시 시작하는 습관을 기르는 것이 좋은 생각입니다.
    에테르 스빌드로프