Novakuz
@Novakuz
Junior (Junior-а) Python developer

Деплой django на freebsd+nginx+uwsgi?

Добрый день, встал вопрос деплоя приложения на сервер freebsd 10.0 c nginx + uwsgi, пока не получается его запустить. Сделал ini файл
[uwsgi]
    socket = /tmp/intra.sock
    master = true
    chdir = /home/webapps/intranet_project/project/
    pythonpath = /home/webapps/intranet_project/env/lib/python2.7/site-packages
    env = DJANGO_SETTINGS_MODULE=project.settings
    module = django.core.handlers.wsgi:WSGIHandler()
    processes = 4
    threads = 2
    uid = 80
    gid = 1004
    stats = 127.0.0.1:9191
    vacuum = true


прописал в конфиге nginx:
upstream django {
    server unix:///tmp/intra.sock; # for a file socket
    #server 127.0.0.1:8001;
    }

    server {
        listen       8000;
        server_name  intra.lenkuz.ru;

        charset utf-8;

        access_log  /home/webapps/intranet_project/logs/intra.access.log;
        error_log   /home/webapps/intranet_project/logs/intra.error.log;

        location /static {
            alias /home/webapps/intranet_project/project/static; # your Django project's static files - amend as required
        }

        location /media {
            alias /home/webapps/intranet_project/project/static/media;
        }

        location / {
            uwsgi_pass django;
            include /home/webapps/intranet_project/conf/uwsgi_params;
        }

        #location /static/ {
        # а вот здесь указываем абсолютный путь к директории со
        # статическими файлами
        #alias /home/webapps/intranet_project/project/static/;
        #expires 30d;
        #}

    }


Но как заставить все это работать, пока тяму не хватает.
  • Вопрос задан
  • 3390 просмотров
Решения вопроса 1
sim3x
@sim3x
Не хватает параметра home с virtualenv
uwsgi-docs.readthedocs.org/en/latest/Options.html#...

Для начала, можно запускать из консоли -- сразу поймешь что не так
https://docs.djangoproject.com/en/dev/howto/deploy...
uwsgi --chdir=/path/to/your/project \
    --module=mysite.wsgi:application \
    --env DJANGO_SETTINGS_MODULE=mysite.settings \
    --master --pidfile=/tmp/project-master.pid \
    --socket=127.0.0.1:49152 \      # can also be a file
    --processes=5 \                 # number of worker processes
    --uid=1000 --gid=2000 \         # if root, uwsgi can drop privileges
    --harakiri=20 \                 # respawn processes taking more than 20 seconds
    --max-requests=5000 \           # respawn processes after serving 5000 requests
    --vacuum \                      # clear environment on exit
    --home=/path/to/virtual/env \   # optional path to a virtualenv
    --daemonize=/var/log/uwsgi/yourproject.log      # background the process


Еще пример stackoverflow.com/a/22610623
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Veseloff
@Veseloff
А что именно не получается? Сам проект в норме? Запускаетс через runserver? Uwsgi стартует без ошибок, если его запустить через «uwsgi --ini»?
Ответ написан
Комментировать
Novakuz
@Novakuz Автор вопроса
Junior (Junior-а) Python developer
Да через runserver все работает, я не могу через ini запустить, я так понимаю, мне надо флаг указать в rc.conf чтобы при запуске uwsgi он подхватывал мой ini проекта?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы