Hosting dla projektu w Django

0

Cześć Wszystkim,
chciałbym się dowiedzieć czy jest jakaś możliwość wrzucenia mojego projektu w Django na jakiś "serwer"? Chodzi mi o to, że jak np. tworzymy stronę www, no to potrzebujemy hosting i na serwerze (lub nie) edytujemy pliki, po czym zapisujemy, wpisujemy url i możemy testować naszą stronę. Czy jest coś takiego dla aplikacji napisanej w Django? Posiadam hosting, dodatkowo kupiłem również vps. Czy potrzebuje dokupić coś innego? Mój projekt był odpalany za pomocą narzędzi Vagrant'a.

Pozdrawiam

0

Appkę w django możesz wrzucić na https://www.pythonanywhere.com/ za free.
Jeśli masz już kupiony hosting to może przydać Ci się domena żeby nie dobijać się do niego po IP, tylko przez jakiś adres www :)

0

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

'''
	Simple socket server using threads
'''

import socket
import sys
from thread import *

HOST = ''	# Symbolic name meaning all available interfaces
PORT = 59007	# Arbitrary non-privileged port

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print 'Socket created'

#Bind socket to local host and port
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'

#Start listening on socket
s.listen(10)
print 'Socket now listening'

#Function for handling connections. This will be used to create threads
def clientthread(conn):
	#Sending message to connected client
	conn.send('Welcome to the server. Type something and hit enter\n') #send only takes string
	
	#infinite loop so that function do not terminate and thread do not end.
	while True:
		
		#Receiving from client
		data = conn.recv(1024)
		reply = 'OK...' + data
		if not data: 
			break
	
		conn.sendall(reply)
		break
	
	#came out of loop
	conn.close()

#now keep talking with the client
while 1:
    #wait to accept a connection - blocking call
	conn, addr = s.accept()
	print 'Connected with ' + addr[0] + ':' + str(addr[1])
	
	#start new thread takes 1st argument as a function name to be run, second is the tuple of arguments to the function.
	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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1