Frage

Ich werde Linux Upgrade Debian 6.0 "Squeeze" auf dem Server bald und ich möchte wissen, wie kann ich verwenden Python als Web-Server auf vielen Ports für verschiedene Dinge gewidmet ist. .

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.

Das bedeutet, dass die Port 443 für viele Websites verwendet werden könnte (angetrieben durch den gleichen Code nur diffrent in der SQL-DB)

War es hilfreich?

Lösung 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()

Andere Tipps

Dies ist kein PHP Frage der PHP-Interpreter nicht direkt auf den Ports hören. Unter Linux wird es (in der Regel) innerhalb Apache laufen. Apache kann so konfiguriert werden, um mehrere Ports zu hören, und sogar auf einer Pro-virtuelle Host-Basis.

Seien Sie auch bewusst, dass die Art von HTTPS macht es unmöglich, mehrere virtuelle Hosts ihre eigenen SSL-Zertifikat zu verwenden und immer noch alle auf dem gleichen Port hören. Sie werden jeden Bedarf ihr eigenes Zertifikat und müssen auf ihren eigenen Hafen hören.

Darüber hinaus bestimmte Ports auf virtuelle Maschinen zu senden auf der Box laufen nichts mit dem Web-Server zu tun, geschweige denn die Ausführungsumgebung. Dies ist eine Mischung aus Portweiterleitung innerhalb des virtuellen Netzwerkes konfiguriert, gekoppelt mit lokaler Web-Server-Konfiguration in virtuellen Maschinen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top