시나닷컴 클라우드에 Django 어플리케이션 배포

전언
최근에 필자는 여가 시간을 이용하여 간단한 온라인 예약 시스템을 썼는데 사용하는 도구는 파이톤 3.5.1과 Django 1.9.5를 포함한다.일찌감치'The web framework for perfectionists with deadlines'라는 Django의 우렁찬 구호를 들었다.이번에 직접 시도해 보니 과연 명불허전, 뚜렷하고 간결한 지원 문서, 편리한 API 인터페이스가 예외 없이 나를 끌어당겼다.
기왕 온라인 시스템이라면 서버 배치의 문제를 돌릴 수 없을 것이다.나는 편리한 시나닷컴을 백엔드 서버로 선택했다.원래는 비교적 순조롭게 될 줄 알았는데, 안의 세부 설정이 여전히 비교적 많을 줄은 생각하지 못했다.여기서 필자는 이러한 세부 설정을 기록한 것도 비교적 기초적인 시나닷컴 입문 설정 과정이라고 할 수 있겠지!
준비 작업
우선, 시스템이 로컬(127.0.0.1:[default port | 8000]에서 테스트에 오류가 없음을 보증합니다.
필자의 시스템에 대한 몇 가지 기본 정보:
  • 백엔드: Python 3.5.1
  • 프레임: Django 1.9.5
  • 데이터베이스: SQLite
  • 배치하기 전에 시나닷컴 클라우드가 파이톤 3.5를 지원하지 않을까 걱정했었어요.Django 1.9는 지원됩니까?시나닷컴 클라우드의 클라우드 응용 프로그램 매뉴얼에 Python 2.7만 지원한다고 쓰여 있는 것 같은데, 이것은 배치할 수 없다는 것을 의미하는 것입니까?사실은 그렇지 않다. 우리가 사용하는 것은 시나닷컴 구름의 용기(container) 기능으로 하나의 저장 구역에 해당하고 어떤 형식의 응용 프로그램도 저장할 수 있다.이 점은 뒤에 이야기할 것이다.
    시스템 정보를 확인한 후 프로파일을 준비해야 합니다. 다음 파일을 준비해야 합니다.
  • runtime.txt
  • requirements.txt
  • Procfile
    (       )
    

  • 공식 참고 문서: 파이썬 응용 프로그램 배치
    runtime.txt
    사용하고자 하는 파이썬 버전을 지정하려면, 응용 프로그램의 루트 디렉터리에 런타임을 만들 수 있습니다.txt 파일, 사용할 Python 버전을 적으십시오.컨텐츠 형식은 다음과 같습니다.python-3.5.1
    requirements.txt
    용기 구름은 응용 프로그램을 구축할 때 특정한 명령을 자동으로 실행하여 모든 제3자 의존 패키지를 설치하기 때문에 Requirements.txt 파일에서 어떤 의존이 있는지 지정합니다.컨텐츠 형식은 다음과 같습니다.django==1.9.5
    이것은 작은 문제가 있습니다. 만약에 제3자 의존 라이브러리가 몇 개 있다면 어떻게 정의해야 합니까?행미에 분호가 필요합니까?이 문법은 문서에 설명이 없고 필자도 시도하지 않았다.아는 게 있으면 댓글로 남겨주세요. 감사합니다!
      requirements.txt    ,    。 23/5/2016
    

    Procfile
    공식 참조 문서: Procfile
    이 파일은 클라우드 서버에 시스템을 어떻게 실행하는지 알려 줍니다.컨텐츠 형식은 다음과 같습니다.web: python manage.py runserver 0.0.0.0:5050
    주의: Django 서버의 기본 감청 포트는 127.0.0.1:8000입니다. 이로 인해 시나닷컴 클라우드 응용 프로그램의 실행 실례가 요청을 받지 못할 수 있습니다. 따라서 클라우드에서 서버를 열 때 0.0.0.0이라는 인터페이스에서 감청 포트가 5050으로 설정되어 있음을 서버에 명시적으로 알려야 합니다.그게 관건이야!
    마지막으로, 우리는git 명령줄로 코드를 업로드할 것입니다. 기계에git 명령줄 도구가 설치되어 있는지 확인하십시오.
    배포 시작
    우선, Python 서버를 로컬에서 실행합니다.나중에 코드를 업로드하고 클라우드를 설정하기 때문에 서버가 이미지를 생성할 때 원격 서버와 로컬 서버에 링크가 필요합니다.로컬에서 시작하지 않으면 오류가 표시되고 미러가 생성되지 않습니다.터미널을 열고 응용 프로그램 루트 디렉토리에 들어가서 다음을 수행합니다.python manage.py runserver 0.0.0.0:5050
    그런 다음 다른 터미널을 열고 응용 프로그램 루트 디렉토리에 들어가서 다음 코드를 수행합니다.
    git remote add sae [        git    ]
    git add .
    git commit -am "make it better"
    git push sae master:1

    이렇게 해서 우리는 이미
  • 원격 창고를 만들었고 이후의push는 자동으로 이 창고에 저장됩니다.
  • 코드의 변화 여부를 검출했다.
  • 코드 업로드 시작;

  • 의외의 사고가 발생하지 않는다면, 이럴 때는 네가 안전 메일박스와 안전 비밀번호를 입력해야 한다. 틀리지 않도록 해라.
    배포 성공
    업로드에 성공하면 잠시 기다리면 시나닷컴 클라우드 관리 계정에 로그인하여 앱-용기 관리로 가서 상태를 확인할 수 있습니다.이론적으로 말하면 운행이라는 글자여야 한다.
    여기에 에피소드가 하나 있는데 그 전의 모든 절차를 뚫고 틀린 상황을 보고하지 않았다. 나는 1시간을 넘게 기다렸는데 자신의 두 실례의 상태가 여전히'처리 중'이라는 것을 발견했다.이것은 매우 이상하다.어쩔 수 없어요. 영수증만 제출하고 고객센터에 연락할 수 있어요.알고 보니 마침 그 시간에 그들이 시스템 업그레이드를 하고 있었다.그래서 때로는 고객센터를 희롱할 때도 대담하게 행동해야 한다.
    Weiming 2016.4.21

    좋은 웹페이지 즐겨찾기