проект Gunicorn и Django - PullRequest
       7

проект Gunicorn и Django

0 голосов
/ 30 ноября 2018

Я просто следовал инструкциям Digital Ocean .После:

 sudo gunicorn --bind 0.0.0.0:8000 nameofmyproject.wsgi:application

bind Gunicorn мой сайт недоступен. Я попытался изменить порт с 8000 на 80 (я набираю mysite.com:8000 и не работает ...), и тогда сайт доступен, но без каких-либо статических файлов, таких как CSS и изображения.Не знаю, почему это происходит.

sudo ss -naptu state listening | grep :80

Вывод:

tcp    0      128            *:8000                       *:*                   users:(("gunicorn",pid=18461,fd=5),("gunicorn",pid=18455,fd=5))

Что я могу сделать?Это мое первое развертывание, поэтому я был бы очень благодарен за действительно простые инструкции ...

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018
manage.py runserver

Это только для разработки, если вы хотите запустить его на производстве, вы должны использовать что-то вроде nginx и gunicorn

/etc/systemd/system/gunicorn.service

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=vbaddict
Group=vbaddict
WorkingDirectory=/...../
ExecStart=/...../bin/gunicorn --bind=127.0.0.1 --timeout 120 --workers 1 --bind unix:/.../application.sock project.wsgi:application

[Install]
WantedBy=multi-user.target

/etc/nginx/conf.d/site.conf

server {
    listen 80;
    server_name carius.vbaddict.net;
    access_log  /var/log/.../.log;

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/..../application.sock;
        proxy_connect_timeout       600;
        proxy_send_timeout          600;
        proxy_read_timeout          600;
        send_timeout                600;
    }
}

Это небольшой пример

И этовам нужен статический файл, вам просто нужно запустить:

python manage.py collectstatic
0 голосов
/ 30 ноября 2018

При привязке к 8000 сайт будет доступен через порт 8000, например, http://server_domain_or_IP:8000 (так же, как это было, когда вы пытались manage.py runserver ранее в учебнике.

затемсайт доступен, но без статических файлов, таких как css и images

В руководстве объясняется, что gunicorn не обрабатывает статические файлы. Это будет сделано nginx позже. Вы видите ожидаемое поведение,так что вы можете продолжить работу с учебником.

Далее учебник изменяет gunicorn для использования файла сокета вместо порта 8000, а затем, наконец, настраивает Nginx для передачи прокси на gunicorn с использованием файла сокета.увидит ваш сайт, включая статические файлы.

...