ubuntu + nginx + uwsgi + django Nenhuma aplicação em Python encontrada

6

Eu estou tentando configurar meu servidor com um nginx para uwsgi para django stack, mas estou tendo problemas com a parte uwsgi.

Quando eu executo o uwsgi e passo todos os parâmetros na linha de comando, ele funciona corretamente. Minha chamada do uwsgi é assim:

uwsgi --socket /tmp/uwsgi.sock --chdir ~/web/test.com --wsgi-file ~/web/test.com/store/wsgi.py --virtualenv ~/web/test.com/testenv --chmod-socket=666 --enable-threads

Eu então copiei esses parâmetros em um arquivo ini que se parece com isso:

# django.ini file
[uwsgi]
master          = true 
socket          = /tmp/uwsgi.sock
chmod-socket    = 666
chdir           = /home/ubuntu/web/test.com
wsgi_file       = /home/ubuntu/web/test.com/store/wsgi.py
virtualenv      = /home/ubuntu/web/test.com/causumptionenv
vacuum          = true
enable-threads  = true

No entanto, quando executo o uwsgi com o arquivo django.ini, recebo esta saída.

[uWSGI] getting INI configuration from django.ini
*** Starting uWSGI 1.9.11 (64bit) on [Fri May 31 14:52:44 2013] ***
compiled with version: 4.6.3 on 30 May 2013 15:40:11
os: Linux-3.2.0-40-virtual #64-Ubuntu SMP Mon Mar 25 21:42:18 UTC 2013
nodename: ip-10-245-64-211
machine: x86_64
clock source: unix
detected number of CPU cores: 1
current working directory: /home/ubuntu/web/test.com
detected binary path: /usr/local/bin/uwsgi
your processes number limit is 4594
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
uwsgi socket 0 bound to UNIX address /tmp/uwsgi.sock fd 3
Python version: 2.7.3 (default, Aug  1 2012, 05:25:23)  [GCC 4.6.3]
Set PythonHome to /home/ubuntu/web/test.com/testenv
Python main interpreter initialized at 0xcb4dd0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 145440 bytes (142 KB) for 1 cores
*** Operational MODE: single process ***
*** no app loaded. going in full dynamic mode ***
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 15976)
spawned uWSGI worker 1 (pid: 15977, cores: 1)
--- no python application found, check your startup logs for errors ---

Mais notáveis são as linhas " sem aplicativo carregado. indo em modo dinâmico completo e nenhum aplicativo python encontrado, verifique se há erros em seus registros de inicialização

Então, minha pergunta é: qual é a diferença entre passar os parâmetros na linha de comando e passá-los por um arquivo ini?

    
por OpIvy 31.05.2013 / 16:56

3 respostas

3

O arquivo wsgi não é wsgi_file, as opções de linha de comando e as opções de arquivo são sempre as mesmas

    
por 01.06.2013 / 07:04
2

Só para aumentar a confusão geral sobre o uwsgi & O django aqui é um arquivo ini que funciona para mim.

Funciona com http & http-socket, mas NÃO socket.

ele é projetado para rodar com múltiplos arquivos de configurações em um diretório a'la duas colheres de vários arquivos de implantação do django (é por isso que eu estava testando)

so --- / velocity é o diretório do projeto 'home' onde o manage.py mora. /velocity/velocity/settings/dev_settings_chris_l.py é o arquivo de configurações real

Tudo isso precisa ser feito porque você precisa ser capaz de corrigir os arquivos de configurações corretas de fora do código do django e, portanto, não pode ter linhas configurando DJANGO_SETTINGS_MODULE dentro de wsgi.py ou de fato manage.py (use django-admin )

Há muita discussão sobre esse tipo de coisa com várias mensagens de erro relatadas. Espero que não seja totalmente relevante para a questão que possa ajudar alguém.

Django 1.8

[uwsgi]
http-socket = 127.0.0.1:8004 
buffer-size = 32768
processes = 4
threads = 2
pythonpath = .. 
env = DJANGO_SETTINGS_MODULE=velocity.settings.dev_chris_l
module=velocity.wsgi:application
home = /home/chris/.virtualenvs/velocity 
plugin = python,http 
show-config 
stats =  127.0.0.1:9191
chdir = /home/chris/development/webfuels/velocity
    
por 10.11.2015 / 12:20
1

aptitude install uwsgi-plugin-python

e, em seguida, reinicie o uwsgi você verá a página correta.

    
por 13.10.2013 / 07:55