Я использую Ubuntu 12.04.1 на экземпляре AWS EC2 Micro и пытаюсь настроить простое приложение Flask с uWSGI и nginx. И я столкнулся с чем-то странным с конфигурацией uWSGI.
Вот мой app.conf
:
[uwsgi]
socket = /tmp/tmp.sock
plugins = python27
chdir = /home/ubuntu/app
pythonpath = ..
module = app:app
virtualenv = /home/ubuntu/.virtualenvs/app
uWSGI не создавал файл сокета после перезапуска, и если я запустил его вручную с uwsgi -i /etc/uwsgi/apps-enabled/app.conf
, вот журнал:
*** Starting uWSGI 1.0.3-debian (64bit) on [Sat Mar 16 06:54:39 2013] ***
compiled with version: 4.6.3 on 17 July 2012 02:26:54
current working directory: /home/ubuntu/app
detected binary path: /usr/bin/uwsgi-core
*** WARNING: you are running uWSGI without its master process manager ***
your memory page size is 4096 bytes
The -s/--socket option is missing and stdin is not a socket.
Но когда я добавляю -s
аргумент, все работает нормально:
uwsgi -i /etc/uwsgi/apps-enabled/app.conf -s /tmp/tmp.sock
*** Starting uWSGI 1.0.3-debian (64bit) on [Sat Mar 16 06:56:04 2013] ***
compiled with version: 4.6.3 on 17 July 2012 02:26:54
current working directory: /home/ubuntu/app
detected binary path: /usr/bin/uwsgi-core
*** WARNING: you are running uWSGI without its master process manager ***
your memory page size is 4096 bytes
uwsgi socket 0 bound to UNIX address /tmp/tmp.sock fd 3
your server socket listen backlog is limited to 100 connections
*** Operational MODE: single process ***
*** no app loaded. going in full dynamic mode ***
spawned uWSGI worker 1 (and the only) (pid: 18023, cores: 1)
Итак, похоже, что uWSGI игнорирует socket
вариант, который установлен в файле конфигурации приложения?
Это происходит только с файлами конфигурации в формате ini - все в порядке с той же конфигурацией, записанной в XML. Похоже на ошибку.
uWSG Я ожидаю только какое-то расширение вроде .ini
, .xml
...
Переименование вашего app.conf
файл в app.ini
решит проблему.