Назад | Перейти на главную страницу

Gunicorn ведут себя по-разному при запуске с терминала и службой

Я использую 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 строки в сценарии запуска и заполните среду подходящими настройками.