2016-10-04 1 views
0

Comment créer plusieurs instances de serveur d'applications python?Comment créer plusieurs instances du serveur d'applications python?

J'ai créé un serveur d'application en python en utilisant httpserver. Je n'utilise aucun framework python. Maintenant, je veux créer plusieurs instances du serveur et utiliser l'équilibreur de charge au-dessus. Comment puis-je créer plusieurs instances de ce serveur d'applications? Y a-t-il des tutoriels sur la façon de créer plusieurs instances?

Je traversais Nginx. Nginx peut-il créer plusieurs instances? Y a-t-il des tutoriels?

Détails: Je travaille sur windows machine. C'est un serveur d'application python créé en utilisant BaseHTTPServer. Je n'utilise aucun framework comme tornado, django.

Répondre

0

Vous pouvez lier différents ports pour chaque instance de votre serveur.

Faites en sorte que votre script initialise chaque instance liant un port différent (par exemple, port 3000, 3001, 3002 ...) et configurez nginx pour répartir la charge sur ces ports.

De https://docs.python.org/2/library/basehttpserver.html, l'exemple donné est:

def run(server_class=BaseHTTPServer.HTTPServer, 
    handler_class=BaseHTTPServer.BaseHTTPRequestHandler): 
    server_address = ('', 8000) 
    httpd = server_class(server_address, handler_class) 
    httpd.serve_forever() 

Vous pouvez créer une classe avec une fonction comme celui-ci comme une méthode qui pourrait prendre le port du serveur comme argument, dans l'exemple au-dessus du port codé en dur 8000.