Я использую nginx + gunicorn + django для своего сайта.
Вот мой файл gunicorn.conf:
description "Gunicorn daemon for Django project"
start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]
# If the process quits unexpectadly trigger a respawn
respawn
setuid django
setgid django
chdir /home/django
# export LC_ALL=en_US.UTF-8
# export LC_LANG=en_US.UTF-8
# export LANG=en_US.UTF-8
exec gunicorn \
--name=eduwiki \
--pythonpath=eduwiki \
--bind=0.0.0.0:9000 \
--log-level debug \
--log-file /var/log/gunicorn/error_logs.log \
--config /etc/gunicorn.d/gunicorn.py \
eduwiki.wsgi:application
# --access-logfile /var/log/gunicorn/acclogs.log \
Когда я бегу
service gunicorn start
И когда я перехожу на режиссер /home/django
следующая команда (которая совпадает с кодами в предыдущем файле конфигурации) сработала как шарм:
exec gunicorn --name=eduwiki --pythonpath=eduwiki --bind=0.0.0.0:9000 --log-level debug --log-file /var/log/gunicorn/error_logs.log --config /etc/gunicorn.d/gunicorn.py eduwiki.wsgi:application
Но первый не может быть запущен, когда я удаляю часть ведения журнала в файле конфигурации: exec gunicorn \ --name = eduwiki \ --pythonpath = eduwiki \ --bind = 0.0.0.0: 9000 \ --config / etc / gunicorn.d / gunicorn.py \ eduwiki.wsgi: приложение сservice gunicorn start
, служба запускается. Но он ведет себя иначе, чем напрямую в терминале.
При запуске непосредственно с терминала кодировка символов, отображаемая на веб-странице, правильная, например следующая:
Математика (от греческого μάθημα máthēma, «знание, изучение, обучение»)
Но когда я запускаю gunicorn с помощью службы, кодировка символа, отличного от ascii, полностью неверна:
*
Математика (от греч. ?????? m? Th? Ma,? Знания, учеба, учеба?)
Ваши интерактивные сеансы терминала обычно автоматически заполняются языками. LC_ALL
и языковые настройки LC_LANG
и LANG
и многие клиенты SSH переопределяют настройки сервера по умолчанию, перенаправляя эти переменные среды с вашей рабочей станции.
Часто они отличаются от системных значений по умолчанию, которые используются, когда демон запускается как служба из сценариев запуска. Раскомментируйте # export
строки в сценарии запуска и заполните среду подходящими настройками.