Gunicorn zachowuje się inaczej, gdy jest uruchamiany z terminala i serwisu


W mojej witrynie używam nginx + gunicorn + django.
Oto mój plik 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
respawnsetuid 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-8exec 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 \

Kiedy biegnę
service gunicorn start

A kiedy przełączam się na reżysera
/home/django
następujące polecenie (które jest takie samo jak kody w poprzednim pliku konfiguracyjnym) działało jak urok:
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

Ale pierwszego nie można uruchomić, gdy usunę część rejestrującą w pliku konfiguracyjnym: exec gunicorn \ --name = eduwiki \ --pythonpath = eduwiki \ --bind = 0.0.0.0: 9000 \ --config/etc/gunicorn. d/gunicorn.py \ eduwiki.wsgi: aplikacja z rozszerzeniem
       service gunicorn start
, usługa jest uruchamiana. Ale zachowuje się inaczej niż bezpośrednio w terminalu.
Po uruchomieniu bezpośrednio z terminala kodowanie znaków wyświetlane na stronie internetowej jest poprawne, na przykład:
Matematyka (z greckiego μάθημα máthēma, „wiedza, nauka, nauka”)
Ale kiedy uruchamiam gunicorn z usługą, kodowanie znaków innych niż ASCII jest całkowicie błędne:
*

Matematyka (z greckiego. ?????? m? Th? Ma ,? Wiedza, studia, studia?)

    *

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Twoje interaktywne sesje terminala są zwykle automatycznie wypełniane językami.
         LC_ALL
i ustawienia języka
         LC_LANG
i
         LANG
a wielu klientów SSH zastępuje domyślne ustawienia serwera, przekierowując te zmienne środowiskowe ze stacji roboczej.
Często różnią się one od domyślnych ustawień systemowych, które są używane, gdy demon jest uruchamiany jako usługa ze skryptów startowych. Odkomentuj
         # export
wiersze w skrypcie startowym i wypełnij środowisko odpowiednimi ustawieniami.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się