Как изменить код SimpleHTTPServer на эквивалентный производственный сервер

Вы можете открыть окно, которое не заблокировано только под событием onclick, если вы откроете его при вызове ajax, оно считается всплывающим. Однако я использовал этот метод с успехом в течение некоторого времени, чтобы открыть всплывающее окно и не блокироваться.

http://en.nisi.ro/blog/development/javascript/open-new-window -window открытым видел хром-Всплывающий /

1
задан John Kugelman 18 March 2019 в 18:10
поделиться

1 ответ

Я нашел способ связать ваш код с сервером nginx. Сначала добавьте код с вашей функцией add create socket, а затем напишите файл конфигурации nginx. это сработает

Шаг 1:

добавьте функцию main () в вашу функцию

from http.server import HTTPServer, BaseHTTPRequestHandler

class SimpleHTTPRequestHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
        self.end_headers()
        self.wfile.write(b'Hello, world!')
    def do_POST(self):
        content_length = int(self.headers['Content-Length'])
        body = self.rfile.read(content_length)
        try:
            result = json.loads(body, encoding='utf-8')
            # Do other stuff with result
            p = subprocess.Popen(['/usr/bin/env', 'lp', '-d', printer_queue, temp.name], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
            self.send_response(200)
            self.end_headers()
            response = BytesIO()
            response.write(b'POST Received: ')
            response.write(body)
            self.wfile.write(response.getvalue())
        except Exception as err:
            tb = traceback.format_exc()
            print(tb)
            self.send_response(500)   # 500 Internal Server Error
            self.end_headers()
            response = BytesIO()
            response.write(b'ERROR: Blah')
            self.wfile.write(response.getvalue())


def main():
    try:
        server = HTTPServer(('localhost', 8000), SimpleHTTPRequestHandler)
        print ('Starting BaseServer.')
        server.serve_forever ()
    except KeyboardInterrupt:
        print ('Interrupt recieved; closing server socket')
        server.socket.close()

if __name__ == '__main__':
    main()

Шаг 2: файл [n] nxx.conf должен быть

как это

server {

    location / {
        root /data/www;
    }


    location / {
        proxy_pass http://localhost:8000;
    }
}

Если у вас есть какие-либо проблемы, прокомментируйте ниже

0
ответ дан Shariful Islam 18 March 2019 в 18:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: