Question

Je vais de passer à Linux Debian 6.0 "Squeeze" sur le serveur bientôt et je veux savoir comment je peux utiliser Python en tant que serveur web sur de nombreux ports dédiés pour des choses différentes. .

Ports            Directory           Description
80, 443          /var/www/sitegen/   Take all domains and generate a site from the SQL DB
444, 1000-3000   /var/www/manager/   Take 444 as a PHP server manager and the rest to be forwarded to serial hardware.
8000-9000        The VMs DIR         Forward the port to port 80 (or 443 by settings) on the VMs.

Cela signifie que le port 443 pourrait être utilisé pour de nombreux sites (alimentés par le même code juste diffrent dans le DB SQL)

Était-ce utile?

La solution 2

En python:

import os
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer

class myHandler(BaseHTTPRequestHandler):

    def do_GET(self):
        self.send_response(200)
        self.send_header("Content-type", "text/html")
        self.end_headers()
        self.wfile.write("This is working")

def main():
    try:
        server = HTTPServer(("", 8080), myHandler)
        print "Sever is up.."
        server.serve_forever()
    except KeyboardInterrupt:
        print
        print "Bye, Bye!"
        server.socket.close()

if __name__ == "__main__":
    main()

Autres conseils

Ce n'est pas une question PHP que l'interpréteur PHP n'écoute pas directement sur les ports. Sous Linux, il (généralement) courir à l'intérieur d'Apache. Apache peut être configuré pour écouter plusieurs ports, et même sur une base hôte par virtuel.

En outre, il faut savoir que la nature de HTTPS rend impossible pour plusieurs hôtes virtuels d'utiliser leur propre certificat SSL et encore écouter tous sur le même port. Ils seront chacun ont besoin de leur propre certificat et le besoin d'écouter leur propre port.

En outre, l'envoi de ports spécifiques aux machines virtuelles en cours d'exécution sur la boîte est rien à voir avec le serveur web, et encore moins l'environnement d'exécution. Ceci est un mélange de configuration de la redirection de port à l'intérieur du réseau virtuel, couplé avec la configuration du serveur web local dans vos machines virtuelles.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top