시나닷컴 클라우드에 Django 어플리케이션 배포
2982 단어 sina-app-enginedjangopython3.x
최근에 필자는 여가 시간을 이용하여 간단한 온라인 예약 시스템을 썼는데 사용하는 도구는 파이톤 3.5.1과 Django 1.9.5를 포함한다.일찌감치'The web framework for perfectionists with deadlines'라는 Django의 우렁찬 구호를 들었다.이번에 직접 시도해 보니 과연 명불허전, 뚜렷하고 간결한 지원 문서, 편리한 API 인터페이스가 예외 없이 나를 끌어당겼다.
기왕 온라인 시스템이라면 서버 배치의 문제를 돌릴 수 없을 것이다.나는 편리한 시나닷컴을 백엔드 서버로 선택했다.원래는 비교적 순조롭게 될 줄 알았는데, 안의 세부 설정이 여전히 비교적 많을 줄은 생각하지 못했다.여기서 필자는 이러한 세부 설정을 기록한 것도 비교적 기초적인 시나닷컴 입문 설정 과정이라고 할 수 있겠지!
준비 작업
우선, 시스템이 로컬(127.0.0.1:[default port | 8000]에서 테스트에 오류가 없음을 보증합니다.
필자의 시스템에 대한 몇 가지 기본 정보:
시스템 정보를 확인한 후 프로파일을 준비해야 합니다. 다음 파일을 준비해야 합니다.
( )
공식 참고 문서: 파이썬 응용 프로그램 배치
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
이렇게 해서 우리는 이미
의외의 사고가 발생하지 않는다면, 이럴 때는 네가 안전 메일박스와 안전 비밀번호를 입력해야 한다. 틀리지 않도록 해라.
배포 성공
업로드에 성공하면 잠시 기다리면 시나닷컴 클라우드 관리 계정에 로그인하여 앱-용기 관리로 가서 상태를 확인할 수 있습니다.이론적으로 말하면 운행이라는 글자여야 한다.
여기에 에피소드가 하나 있는데 그 전의 모든 절차를 뚫고 틀린 상황을 보고하지 않았다. 나는 1시간을 넘게 기다렸는데 자신의 두 실례의 상태가 여전히'처리 중'이라는 것을 발견했다.이것은 매우 이상하다.어쩔 수 없어요. 영수증만 제출하고 고객센터에 연락할 수 있어요.알고 보니 마침 그 시간에 그들이 시스템 업그레이드를 하고 있었다.그래서 때로는 고객센터를 희롱할 때도 대담하게 행동해야 한다.
Weiming 2016.4.21
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django & Stripe - 오픈 소스 미니 전자 상거래안녕하세요! 이 문서에서는 Stripe를 결제 프로세서로 사용하고 Django를 백엔드로 사용하는 오픈 소스 프로젝트를 소개합니다. 전자상거래 섹션 콘텐츠는 JSON에서 로드되며 정보는 간단한 라우팅 논리로 관리됩니...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.