Задать вопрос
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;
        #}

    }


Но как заставить все это работать, пока тяму не хватает.
  • Вопрос задан
  • 3404 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 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 проекта?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Strikt Москва
от 100 000 до 180 000 ₽
ITK academy Саратов
от 75 000 ₽
Sim-Ba Pay Санкт-Петербург
от 180 000 ₽