2010-05-19 3 views
2

Я довольно новичок в использовании Tornado Web в качестве веб-сервера, и мне трудно сдержать работу. Обычно я использую Django и Nginx, и я использую для запуска/остановки/перезапуска сервера. Однако с Tornado у меня возникли проблемы с тем, чтобы он «запускал» без непосредственного выполнения моего основного файла python для сайта, то есть «python ~/path/to/server.py».Запуск Tornado Web

Уверен, что я полностью ошибаюсь - есть ли способ «подстроить» мой сценарий, чтобы при запуске Nginx начинается торнадо?

Любая помощь будет оценена!

ответ

2

Нет, не существует способа, чтобы nginx породил ваш экземпляр торнадо.

Обычно вы используете внешнюю инфраструктуру, например daemontools, или сценарий инициализации системы для запуска процесса торнадо.

+0

Кроме сценарий инициализации является стандартным SysV и в целом ожидается, другие в качестве стандартного механизма для запуска и остановки вашей службы. Альтернативы были бы выскочками или эквивалентом Solaris. – mikemaccana

3

Лучший способ сделать это состоит в использовании supervisord, как это также написано в питоне

+1

Выбор языка не делает что-то лучше для себя; daemontools - твердый камень. Я также предлагал только что-то вроде «daemontools», очевидно, что существует длинный список опций (включая supervisord). – Jehiah

+0

Это лучше для его потребностей, несмотря на то, что это может быть не лучше, чем daemontools. –

+0

Я частично участвую в сценарии init (или upstart, inittab, whatever), чтобы запустить его, и Monit, чтобы проверить его «здоровье» и перезапустить по мере необходимости. Две птицы с одним камнем. – z8000