Например, в моем файле my_application / settings.py у меня есть пара операторов print
, таким образом:
print( 'running settings.py: ALLOWED_HOSTS: ' )
print( '\n'.join( ALLOWED_HOSTS ) )
... где этот вывод на самом деле go на удаленном сервер работает nginx и Gunicorn?
NB Я знаю, что это может быть вопиющее нарушение безопасности, чтобы напечатать ALLOWED_HOSTS
где угодно, насколько я знаю. Это всего лишь пример: я нахожусь на стадии обучения / эксперимента.
Редактировать после ответа AKX
Я не нашел способа заставить stdout
быть направленным на journalctl
даже с переключателем -R
.
... после многих экспериментов, разочарований и сбивающих с толку ошибок 502 я наконец нашел способ: мой конфигурационный файл systemd
теперь выглядит так:
[Unit]
Description=Gunicorn server for mysite.xyz
[Service]
Restart=on-failure
User=mike
WorkingDirectory=/home/mike/sites/mysite.xyz
EnvironmentFile=/home/mike/sites/mysite.xyz/.env
ExecStart=/home/mike/sites/mysite.xyz/virtualenv/bin/gunicorn \
--bind unix:/tmp/mysite.xyz.socket \
-R \
--capture-output \
--error-logfile /home/mike/gunicorn-error.log \
superlists.wsgi:application
[Install]
WantedBy=multi-user.target
... действительно, я считаю, что недостаточно включить переключатель -R
: кажется, вам также необходимо включить переключатель --capture-output
и переключатель --error-logfile
(NB. является назначением по умолчанию для вывода ошибок, если вы не установили этот переключатель).
С указанным выше файлом конфигурации stdout
из settings.py переходит в файл ~ / gunicorn-error.log. Hurray.