Sugerując się opisem dokumentacji https://docs.djangoproject.com/en/2.2/intro/tutorial01/ jak uruchamiasz skrypt py komendą python manage.py runserver
z terminala to dopóki proces jest uruchomiony aplikacja będzie działać. Jeśli wyłączysz terminal albo komputer, wtedy przestanie. Jeśli na VPS masz Windowsa, to masz środowisko graficzne, więc logujesz się do tego VPS, uruchamiasz aplikację normalnie przez cmd
w tym vps i dopóki nie wyłączysz terminala, nie zresetujesz vpsa to program będzie działał. Jeśli masz Linuxa, bez środowiska graficznego to logujesz się np przez putty
albo ssh
z terminala, tak samo uruchamiasz kod pythona poleceniem python manage.py runserver
na tym VPS i potem dajesz CTRL+Z, czyli zatrzymujesz proces, i następnie wpisujesz polecenie BG ( poszukaj w google > how to run process in background linux
), wtedy proces działał ciągle w tle, nawet jak się wylogujesz dopóki go sam nie wyłączysz poleceniem kill
. Potem używasz takich poleceń jak top
, netstat
, ps
itp żeby śledzić ten proces.
Jest coś takiego jak scp, żeby wrzucać pliki z poziomu terminala https://stackoverflow.com/questions/14325956/using-scp-in-terminal . możesz wysłać na swój VPS pliki wpisując np scp moj_kod_w_pythonie.py user@ipservera:/home/pythonTesty/
Weź sobie uruchom przykładowy kod socket dla python 2.7
Kopiuj
'''
Simple socket server using threads
'''
import socket
import sys
from thread import *
HOST = ''
PORT = 59007
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print 'Socket created'
try:
s.bind((HOST, PORT))
except socket.error as msg:
print 'Bind failed. Error Code : ' + str(msg[0]) + ' Message ' + msg[1]
sys.exit()
print 'Socket bind complete'
s.listen(10)
print 'Socket now listening'
def clientthread(conn):
conn.send('Welcome to the server. Type something and hit enter\n')
while True:
data = conn.recv(1024)
reply = 'OK...' + data
if not data:
break
conn.sendall(reply)
break
conn.close()
while 1:
conn, addr = s.accept()
print 'Connected with ' + addr[0] + ':' + str(addr[1])
start_new_thread(clientthread ,(conn,))
s.close()
Wrzuć to na swój vps, zapisz jako main.py albo pod inną nazwą, odblokuj w ustawieniach firewalla port 59007 uruchom poleceniem python main.py
i potem wpisz w przeglądarkę adres ip tego vpsa oraz port np. 192.168.1.102:57009 potem zaloguj się przez TOR albo IE, albo Operę i już masz odpowiedź jak to mniej więcej będzie działać.
Hosting do tego wystarczy np Cloud VPS Micro za 15 zeta miesięcznie https://homecloud.pl/uslugi/vps/ - można kupić tylko na miesiąc i potem przedłużyć. Masz publiczny adres ip, więc możesz testować małym kosztem ;p
I w sumie to wszystko.
BTW. w sumie to sam nie mam doświadczenia z hostingiem aplikacji więc ten temat mnie też interesuje i z chęcią poczytam komentarze bardziej doświadczonych w tym temacie.
DO NOT USE THIS SERVER IN A PRODUCTION SETTING.
https://docs.djangoproject.com/en/2.2/ref/django-admin/#django-admin-runserver