Я впервые работаю с веб-сервером. У меня есть программа .py , которая является моим сервером Tornado , который успешно обрабатывает запросы. Я протестировал его на своем локальном компьютере, а затем отправил на свой хостинг. Я запустил программу в сеансе SSH , и она работала отлично, но после того, как я вышел из сеанса SSH , Сервер Tornado остановлен . Теперь я действительно хотел бы узнать, как правильно запустить службу Tornado на моем сервере .

1
Arthur Khazbs 26 Ноя 2016 в 11:49

2 ответа

Лучший ответ

Это в первую очередь зависит от того, какой тип развертывания вы имеете в виду. Если у вас есть полный сервер, вы можете использовать supervisor, как предлагает billy_lu; для более надежной настройки вы можете разместить свой сервер Tornado за Nginx в качестве балансировщик нагрузки.

С другой стороны, некоторые провайдеры не предоставляют вам полный доступ и требуют, чтобы веб-приложения Python работали с использованием протокола WSGI; хороший пример - Google App Engine. В этом случае вам нужно обернуть ваше приложение Tornado в WSGIAdapter; что-то вроде этого:

if __name__ == '__main__':
    import tornado.httpserver
    http_server = tornado.httpserver.HTTPServer(app)
    http_server.listen(options.server_port, address=options.server_address)
    tornado.ioloop.IOLoop.instance().start()
else:
    import tornado.wsgi
    app = tornado.wsgi.WSGIAdapter(app)
0
Community 23 Май 2017 в 11:53

1: Supervisor - это то, что вы ищете. Supervisor - это система клиент / сервер, которая позволяет пользователям отслеживать и контролировать ряд процессов в UNIX-подобных операционных системах.

2: Как и в nohup, вы можете использовать tmux для запуска вашего сервера в фоновом режиме, и он предоставляет множество других функций, чтобы сделать его очень эффективным на терминале.

Также вы можете ознакомиться с дополнительными предложениями в разделе Запуск и развертывание tornado.

0
Song 28 Ноя 2016 в 10:12