Вопрос

Я буду обновляться до Linux Debian 6.0 "Squeeze" на сервере скоро и хочу знать, как я могу использовать Питон Как веб-сервер на многих портах, посвященных разным вещам ..

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.

Это означает, что порт 443 может быть использован для многих сайтов (работает на одном и том же коде, просто дифференцирован в SQL DB)

Это было полезно?

Решение 2

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

Другие советы

Это не вопрос PHP, так как интерпретатор PHP не прослушивает порты. На Linux он будет (обычно) работает внутри Apache. Apache можно настроить для прослушивания нескольких портов и даже на основе для каждого виртуального хоста.

Кроме того, осознайте, что природа HTTPS делает невозможным для нескольких виртуальных хостов использовать свой собственный SSL-сертификат и все еще все слушать один и тот же порт. Каждый из них потребуется свой собственный сертификат и должен слушать свой собственный порт.

Кроме того, отправка конкретных портов на виртуальные машины, работающие на коробке, нечего делать с веб-сервером, не говоря уже о среде выполнения. Это смесь настройки переадресации портов внутри виртуальной сети, в сочетании с локальной конфигурацией веб-сервера в виртуальных машинах.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top