Pregunta

Voy a actualizar a Linux Debian 6.0 "Squeeze" en el servidor de pronto y me gustaría saber cómo puedo usar Python como un servidor web en muchos puertos dedicados para diferentes cosas. .

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.

Esto significa que el puerto 443 podría ser utilizado para muchos sitios (alimentado por el mismo código simplemente diversa en la base de datos SQL)

¿Fue útil?

Solución 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()

Otros consejos

Esto no es una cuestión de PHP como el intérprete de PHP no escucha directamente en los puertos. En Linux, será (por lo general) ejecutarse dentro de Apache. Apache puede ser configurado para escuchar en varios puertos, e incluso sobre una base de máquina por-virtual.

Además, tenga en cuenta que la naturaleza de HTTPS hace que sea imposible para múltiples hosts virtuales que utilizan su propio certificado SSL y aún así todos escuchan en el mismo puerto. Lo harán cada necesidad de su propio certificado y necesidad de escuchar en su propio puerto.

Además, el envío de puertos específicos para máquinas virtuales que se ejecutan en la caja hay nada que hacer con el servidor web, y mucho menos el entorno de ejecución. Se trata de una mezcla de configurar el reenvío de puertos dentro de la red virtual, junto con la configuración del servidor web local en sus máquinas virtuales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top