Django의 DevServer를 대중으로 만드는 방법은 무엇입니까?그것은 일반적으로 가능합니까?

StackOverflow https://stackoverflow.com/questions/3328926

  •  29-09-2020
  •  | 
  •  

문제

현재 Django 프레임 워크를 시도하고 있습니다. 저는 일하는 것들에게 내가 만든 물건을 공유 / 선물 / 보여줄 것입니다. 나는 VMware를 통해 Win7에서 Ubuntu에서 일합니다. 그래서 내 소망 / 욕망은 포트로 현재 PUB-IP를 보내는 것입니다 (예 : http : //123.123). 123.123 : 8181 / Django-app / 내 친구들에게 그것을 테스트 할 수 있습니다.

문제는 Django의 dev 서버 (python / path-to-django-app/manage.py runserver $ IP : $ 포트)를 사용합니다.

DevServer를 어떻게 만드는가?

편집 :

오, 내가 언급하는 것을 잊어 버린 뭔가가 있습니다. 슬픈 때 나는 Ubuntu와 VMware를 사용합니다. 나는 내 현재의 int-ip 192.168.xx.xx를 반환하고 환경 변수 ($ cur_ip)에 저장하는 쉘 스크립트가있다. 그래서, Django의 devserver를 실행하려는 매번 나는 단순히

를 실행합니다.
python /path-to-django-site/manage.py runserver $CUR_IP:8080
.

이렇게하면 http-sttp (예 : http://192.168.40.145:8080 / 앱 이름 / 가 내 가상 컴퓨터를 바깥으로 사용할 수 있습니다. 내 호스트 (Win7) 기계에서 테스트 할 수 있습니다. 그건 실제로 내가 그 질문을 했는가? 나는 Ext-IP를 사용하고 runserver를 밖으로 사용할 수있는 방법이 있다고 생각했습니다

도움이 되었습니까?

해결책

192.168.*.*는 LAN 개인 주소입니다. - 적절한 VMware (또는 다른 VM Manager) 및 방화벽 끊김이 LAN에서 액세스 할 수 있도록 방화벽 캔트를 수행하면 LAN 외부에서 액세스 할 수 없습니다. , 인터넷에서 큰 (좋은 일도 너무 좋은 일이므로 그러한 개발 서버가 보안 및 확장 성을 위해 설계된 이 아님)이기 때문에

인터넷에서 인터넷에 보이는 LAN 개인 IP가있는 기계의 일부 포트를 만들려면 "가상 서버"능력이있는 라우터가 필요합니다 (많은 라우터, 저렴한 것조차도 제공,하지만 불가능합니다. 각 브랜드가 자체적 인 방식이 있으므로 특별한 기능에 대해 구체화하십시오). 또한 "NoFollow noreferrer"> Dyndns 또는 다른 유사한 서비스를 추천하여 안정적인 DNS 이름을 항상 다양한 공용 IP에 연결할 수 있습니다 ( 물론 연결 제공자의 고정 IP에 대해 나누지 만 후자의 옵션은 항상 비용을 획득합니다.

superuser.com 또는 serverfault.com은 더 나은 답변과 세부 사항을 제공 할 수 있습니다 (질문에 대한 구성에 대한 모든 구성에 대해서는 모든 조금의 세부 사항을 제공합니다). 그 질문은 소프트웨어 개발 및 서버 관리와 관련이있는 모든 것과 관련이 없기 때문에 구성.

다른 팁

python manage.py runserver 0.0.0.0:8181
.

이것은 개발 서버 실행 포트 8181에서 모든 IP를 청취해야합니다.

2011 년 6 월 17 일 Django 개발 서버는 기본적으로 스레드됩니다 (티켓 # 1609) .

문서 :

기본 IP 주소는 127.0.0.1, 네트워크의 다른 시스템에서 액세스 할 수 없습니다.에 개발 서버를 볼 수 있습니다 네트워크상의 다른 기계에 사용하십시오 자체 IP 주소 (예 : 192.168.2.1) 또는 0.0.0.0.

루비가 설치되어 있으면 LocalTunnel을 가져와야합니다.

gem install localtunnel
. 그런 다음 Python Development Server를 다음과 같이 시작합니다.

python manage.py runserver 0.0.0.0:8000
.

다른 쉘에서 localtunnel을 시작하십시오 :

localtunnel -k ~/.ssh/id_rsa.pub 8000 
.

URL을 출력하여 로컬 서버에 액세스합니다.

Port 8000 is now publicly accessible from http://xxxx.localtunnel.com
.

그게

이미 응답되었지만 동일한 localtunnel

와 같은 NPM 대체를 추가합니다
sudo npm install -g localtunnel

lt --port 8000 --subdomain yash
.

이 줄을 설정하기 위해이 줄을 추가해야했습니다 (다른 컴퓨터에서 액세스 할 때 오류가 표시됨)

ALLOWED_HOSTS = ['*']
.

다음 서버를 실행하십시오 :

python manage.py runserver 0.0.0.0:9595
.

VirtualBox를 사용하는 경우 "NAT"에서 "Bridged Adapter"로 VB에서 네트워크 설정을 변경해야합니다.그런 다음 Linux를 다시 시작하십시오.이제 sudo ifconfig를 실행하면 192.168.*.*와 같은 IP 주소를 볼 수 있습니다.마지막 단계는 runserver

입니다

python manage.py runserver 192.168.*.*:8000

환호!

VMware에서 브리지 된 네트워킹을 구성하고 Ubuntu 방화벽에서 대상 포트에 대한 액세스를 부여해야합니다.

pyngrok와 같은 것을 시도하는 것이 좋습니다. 프로그래밍 방식으로 ngrok 터널을 관리 할 수 있습니까?전체 공개, 저는 개발자입니다.Django 예제 여기서는 pyngrok 설치만큼 쉽습니다.

pip install pyngrok
.

및 그것을 사용 :

from pyngrok import ngrok

http_url = ngrok.connect(8000)
.

포트 또는 방화벽 또는 IP 주소로 엉망이없고 이제는 트래픽을 검사 할 수도 있습니다 (여기에서 수행하는 것이 진행중인 개발이므로 prod-Ready 서버를 실행하지 않아 유용합니다).

또는 Cotunnel 를 사용할 수 있습니다 unbuntu에서 cotunnel을 실행하십시오. (VMware에서) 터널 포트 변경CotoUnnel 대시 보드에서 귀하가 지역 측에서 사용하는 포트.그것은 공개 URL을 제공하며 친구와 함께 URL을 공유 할 수 있습니다.

Django 서버는 CoTunnel에서 중요하지 않습니다 127.0.0.1 또는 0.0.0.0 (0.0.0.0을 선호합니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top