Использую ubuntu server 18.04, nginx и tornado
Для запуска торнадо использую следующий код:
class Main:
PORT_MASK = '111{}'
PATH_MASK = '/tmp/111_{}'
SETTINGS = {}
ROUTE = []
def __init__(self, use_unix_socket=False):
server = tornado.httpserver.HTTPServer(tornado.web.Application(self.ROUTE, **self.SETTINGS))
if use_unix_socket:
server.add_socket(tornado.netutil.bind_unix_socket(self.PATH_MASK.format(0)))
else:
server.add_sockets(tornado.netutil.bind_sockets(int(self.PORT_MASK.format(0))))
tornado.process.fork_processes(0)
tornado.ioloop.IOLoop.current().start()
Конфиг nginx, где я настраиваю сервер:
upstream 111 {
server localhost:1110 fail_timeout=0;
server unix:/tmp/111_0 fail_timeout=0;
}
(две строки только чтобы показать, что по юникс сокету не работает, так-то я понимаю что тут должна быть одна)
И, собственно, если я запускаю с аргументом use_unix_socket - у меня ничего не работает, запросы до торнадо не идут, nginx возвращает 502 ошибку, если через обычный сокет - всё окей. В чём проблема?