gevent
http://habrahabr.ru/post/87793/
flask
http://habrahabr.ru/post/193242/
Код: Выделить всё
---
import sys
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
HandlerClass = SimpleHTTPRequestHandler
ServerClass = BaseHTTPServer.HTTPServer
Protocol = "HTTP/1.0"
if sys.argv[1:]:
port = int(sys.argv[1])
else:
port = 8000
server_address = ('127.0.0.1', port)
HandlerClass.protocol_version = Protocol
httpd = ServerClass(server_address, HandlerClass)
sa = httpd.socket.getsockname()
print "Serving HTTP on", sa[0], "port", sa[1], "..."
httpd.serve_forever()
---
Код: Выделить всё
python3 -m http.server --cgi
Для сидящих на Windows чуть проще будет запуск Python файла (заметьте, что он должен находиться в той же папке, в которой мы планируем работать!):
from http.server import HTTPServer, CGIHTTPRequestHandler
server_address = ("", 8000)
httpd = HTTPServer(server_address, CGIHTTPRequestHandler)
httpd.serve_forever()
Код: Выделить всё
#!/usr/bin/env python3
print("Content-type: text/html")
print()
print("<h1>Hello world!</h1>")
Как корректно остановить встроенный python сервер (на linux)? При остановке с помощью Ctrl+Z, его повторный запуск невозможен (без перезагрузки), видимо, потому что при таком завершении не освобождается используемый порт.
Нужно найти процесс, который захватил этот порт и прибить его. netstap -ap | grep 8000 затем kill -9 pid_процесса