uwsgi [SOLVED]

доброго времени всем.

Как правильно настроить?

gentoo+nginx+uwsgi

Собственно не стартует uwsgi.

sserver ~ # cat /var/log/uwsgi.log

[uWSGI] parsing config file /etc/uwsgi/uwsgi.xml
*** Starting uWSGI 0.9.5-dev (64bit) on [Thu Dec 23 12:58:11 2010] ***
Python version: 2.6.5 (release26-maint, Nov 16 2010, 15:03:52)
[GCC 4.3.2]
uWSGI running as root, you can use --uid/--gid/--chroot options
 *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
your memory page size is 4096 bytes
allocated 536 bytes (0 KB) for 1 request's buffer.
binding on UNIX socket: /var/run/uwsgi/siberiasoft.ru.sock
your server socket listen backlog is limited to 64 connections
writing pidfile to /var/run/uwsgi/uwsgi.pid
initializing hooks...done.
ImportError: No module named handler
sserver ~ # ls /var/run/uwsgi/
websitename.ru.sock  uwsgi.pid
sserver ~ # cat /etc/uwsgi/uwsgi.xml

<uwsgi>
    <socket>/var/run/uwsgi/websitename.ru.sock</socket>
    <master />
    <pythonpath>/home/www/websitename/wsgi</pythonpath>
    <module>handler</module>
</uwsgi>
sserver ~ # ls /home/www/websitename/
static  wsgi
sserver ~ # ls /home/www/websitename/wsgi/
__init__.py  handler.py
sserver wsgi # cat __init__.py
import handler
sserver wsgi # cat handler.py
#!/usr/bin/python

def application(environ, start_response):
    response = []
    response.append(('Content-Type', 'text/plain'))
    response.append(('Set-Cookie', 'testcookie=testvalue; expires=Fri, 31-Dec-2010 23:59:59 GTM; path=/; domain=.websitename.ru; HttpOnly'))
    response.append(('Set-Cookie', 'testcookie2=testvalue2'))
    start_response('200 OK', response)

    page = []
    for i in environ.keys():
        page.append(str(i) + ' = ' + str(environ[i]) + '\n')
    return page

Почему оно не стартует?

Спс.

Забыл

sserver wsgi # cat /etc/init.d/uwsgi
#!/sbin/runscript

UWSGI_CONF="/etc/uwsgi/uwsgi.xml"

opts="depend start stop reload"

depend() {
    need net
    use apache2 lighttpd nginx
}

start() {
    ebegin "Starting uwsgi server"
    /usr/bin/uwsgi --pidfile /var/run/uwsgi/uwsgi.pid \
        -x "${UWSGI_CONF}" -d /var/log/uwsgi.log
    eend $? "Failed to start uwsgi"
}

stop() {
    ebegin "Stopping uwsgi server"
    #kill -HUP `cat /var/run/uwsgi/uwsgi.pid` &> /dev/null
    kill -HUP `pidof uwsgi` &> /dev/null
    sleep 3
    eend $? "Failed to stop uwsgi"
}

Объясните дураку что не так...

А с какой целью __init__.py

А с какой целью __init__.py не пуст?

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

krigstask написал(а): А с

krigstask написал(а):
А с какой целью __init__.py не пуст?

Ненаю. А что? необходимо иметь пустой?

Решилось

<uwsgi>
    <socket>/var/run/uwsgi/websitename.ru.sock</socket>
    <master />
    <pythonpath>/home/www/websitename/wsgi</pythonpath>
    <module>handler</module>
</uwsgi>

Вот как надо

<uwsgi>
    <socket>/var/run/uwsgi/websitename.ru.sock</socket>
    <master />
    <pythonpath>/home/www/websitename/wsgi/</pythonpath>
    <module>handler</module>
</uwsgi>

Найдите одо отличие.)
Както странно все устроенно.

Хм...я бы не сказал что

Хм...я бы не сказал что странно, а вполне логично ибо если без / Оно думает что это - обычный файл, а если с слешем - каталог.

Все мы, рано или поздно, будем там...

666joy666 написал(а):Хм...я

666joy666 написал(а):
Хм...я бы не сказал что странно, а вполне логично ибо если без / Оно думает что это - обычный файл, а если с слешем - каталог.

Тогда если указывается фалй, то опция "module" имеет смысл? И зачем?

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".