Domanda

io l'aggiornamento a Linux Debian 6.0 "Squeeze" sul server presto e vorrei sapere come posso utilizzare Python come un web-server su molte porte dedicate per cose diverse. .

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.

Questo significa che la porta 443 potrebbe essere utilizzato per molti siti (alimentate dallo stesso codice appena differente in SQL DB)

È stato utile?

Soluzione 2

in 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()

Altri suggerimenti

Questa non è una domanda PHP come l'interprete PHP non ascolta direttamente sulle porte. Su Linux, sarà (di solito) eseguito all'interno di Apache. Apache può essere configurato per l'ascolto più porte, e anche su base per-ospite virtuale.

Inoltre, essere consapevoli del fatto che la natura di HTTPS rende impossibile per più host virtuali di utilizzare il proprio certificato SSL e ancora tutti ascoltano sulla stessa porta. Saranno ogni esigenza il proprio certificato e necessità di ascoltare sul proprio porto.

Inoltre, l'invio di porte specifiche per le macchine virtuali in esecuzione sulla scatola è niente a che fare con il server web, e tanto meno l'ambiente di esecuzione. Si tratta di un mix di configurare il port forwarding all'interno della rete virtuale, accoppiato con la configurazione del server web locale nelle macchine virtuali.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top