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/djangonastę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?)
- *
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
1 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
i ustawienia języka
i
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
wiersze w skrypcie startowym i wypełnij środowisko odpowiednimi ustawieniami.