Джанго Гуникорн, где хранятся бревна - PullRequest
0 голосов
/ 06 сентября 2018

Я развернул свое приложение, используя учебник

Я использую nginx + gunicorn (также я использую systemd)

Прямо сейчас все отлично работает на моем dev server Но на производстве это терпит неудачу с Internal Server Error при попытке загрузить файл

Как и где я могу найти бревна огнестрельного оружия? (я использую ubuntu)

Кроме того, это фрагмент кода, который на всякий случай вызывает ошибку:

def download_xlsx(request):
    user = request.user
    file_name = request.GET['file_name']
    file_path='main_app/static/xlsx/' + str(user.id) + '/' + file_name
    disposition= 'attachment; filename="' +smart_str(file_name) + '"'
    disposition=disposition.encode('utf-8')
    if os.path.exists(file_path):
        with open(file_path, 'rb') as fh:
            response = HttpResponse(fh.read(), content_type="application/vnd.ms-excel")
            response['Content-Disposition'] = disposition
            return response
    return projects.to_utf8_json_response('not found')

UPD: я пытался запустить sudo journalctl -u gunicorn

Но в результате я получил огромный файл, созданный 2 месяца назад, поэтому я не могу перейти к последним журналам, которые соответствуют его размеру

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

не забудьте установить кодировку в вашем сервисном файле gunicorn (в противном случае вы можете получить странные ошибки Unicode, и похоже, что вы столкнулись с этой проблемой с помощью функции, которую вы описали выше.)

[service]
Environment="LANG=ru_RU.UTF-8"

это может быть связано с вашей проблемой: UnicodeEncodeError [Python3 / Gunicorn / Nginx / Django]

0 голосов
/ 06 сентября 2018

Кажется, работает так:

journalctl --unit=gunicorn | tail -n 300
...