Назад | Перейти на главную страницу

nginx и uwsgi; разные порты

У меня есть Nginx и две виртуальные среды python с uwsgi. Эти среды предназначены для разработки и производства. Я хочу запустить производство на: 80 и dev: на 6544 портах

Вот конфиг, который у меня есть

server {
    listen          80;
    access_log      off;
    error_log       /var/log/nginx/http.prod.error.log;

    charset         utf-8;
    location / {
        uwsgi_pass  unix:///tmp/uwsgi.sock;
        include     uwsgi_params;
    }

}    

server {
    listen          6544;
    access_log      off;
    error_log       /var/log/nginx/http.dev.error.log;

    charset         utf-8;
    location / {
        uwsgi_pass  unix:///tmp/uwsgi.sock;
        include     uwsgi_params;
    }

}

Когда я делаю %production%/bin/uwsgi --ini-paste-logged %production%/production.ini он работает хорошо. Но когда я пытаюсь запустить версию разработчика %dev%/bin/uwsgi --ini-paste-logged %dev%/dev.ini Я получил следующее в uwsgi.log:

*** Starting uWSGI 1.9.12 (64bit) on [Fri Jun  7 07:35:21 2013] ***
compiled with version: 4.4.3 on 07 June 2013 07:32:32
os: Linux-2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012
nodename: pt-apps2
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 24
current working directory: /home/dev
writing pidfile to ./pid_5000.pid
detected binary path: /home/dev/bin/uwsgi
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
unlink(): Operation not permitted [core/socket.c line 135]
bind(): Address already in use [core/socket.c line 185]
*** Starting uWSGI 1.9.12 (64bit) on [Fri Jun  7 07:38:24 2013] ***
compiled with version: 4.4.3 on 07 June 2013 07:32:32
os: Linux-2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012
nodename: pt-apps2
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 24
current working directory: /home/dev
writing pidfile to ./pid_5000.pid
detected binary path: /home/dev/bin/uwsgi
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
unlink(): Operation not permitted [core/socket.c line 135]
bind(): Address already in use [core/socket.c line 185]

dev.ini содержит следующие настройки:

[uwsgi]
socket = /tmp/uwsgi.sock
master = true

processes = 4

harakiri = 60
harakiri-verbose = true
limit-post = 65536
post-buffering = 8192

daemonize = ./uwsgi.log
pidfile = ./pid_5000.pid

listen = 256

max-requests = 1000

reload-on-as = 128
reload-on-rss = 96
no-orphans = true

log-slow = true

Я считаю, что что-то не так с конфигурацией, но понятия не имею, что не так. Еще один интересный момент: когда запущен производственный UWSGI, я могу получить доступ к: 6544, но я не вижу там dev-версию, только рабочую версию. Так что я думаю, что 80 и 6544 порта используются только для продакшена. Есть идеи, как я могу разделить две версии одного приложения по портам?

Спасибо

Вы пытаетесь использовать один и тот же сокет домена Unix как для разработки, так и для производства. Используйте для них разные розетки.