вопрос
Супервизору не удается запустить приложение Java. Вызовите supervisorctl status, чтобы просмотреть процесс и обнаружить сообщение об ошибке
Can't find command ‘java’.
Но я могу напрямую использовать java локально. Это показывает, что локальная переменная среды Java также в порядке. Есть подозрение, что операционная среда супервайзера отличается. Наконец, я проверил документ и обнаружил, что это действительно было вызвано различными переменными среды. Переменные среды, используемые супервизором, основаны на переменных среды, установленных в supervisor.conf.
решать
Измените конфигурацию проекта супервизора.
Первоначальная конфигурация:
command=java -jar account.jar
Измененная конфигурация:
command=/bin/bash -c 'source "$0" && exec "$@"' /etc/profile java -jar account.jar
пример:
[program:bam-sms] directory=/app/services/service command=/etc/profile java -jar /app/services/service/bam-sms-service-1.0.0.jar autostart=true autorestart=true stdout_logfile=/app/services/service/log.log stdout_logfile_maxbytes = 20MB
Измененная конфигурация:
[program:bam-sms] directory=/app/services/service command=/bin/bash -c 'source "$0" && exec "$@"' /etc/profile java -jar /app/services/service/bam-sms-service-1.0.0.jar autostart=true autorestart=true stdout_logfile=/app/services/service/log.log stdout_logfile_maxbytes = 20MB
Кроме того, обратите внимание на перезагрузку файла конфигурации после изменения конфигурации.
supervisorctl reload
Посмотреть статус службы
supervisorctl status
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .
Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.