Это служебный файл systemd. Поместите в / lib / systemd / system /
Или, если у вас нет systemd, используйте начальный скрипт из предыдущей версии Rocket.Chat.
В руководстве bash
говорится о export
:
export [-fn] [name[=word]] ...
export -p
The supplied names are marked for automatic export to the envi‐
ronment of subsequently executed commands. [...]
Это означает, что когда переменная экспортируется, она будет доступна любому дочернему процессу оболочки, которая ее экспортировала. Для примера:
$ foo="bar"
$ bash -c 'echo "$foo"' ## the variable isn't available to the child
$ export foo="bar"
$ bash -c 'echo "$foo"' ## the child also gets the variable
bar
Итак, используйте export
, когда вы хотите сделать переменную доступной для всех процессов, а не только для запущенной в данный момент оболочки.
Иногда у вас есть зависимости версии, которая будет использоваться для запуска чего-либо. В вашем случае это будет версия Java для работы вашего сервера Tomcat. Глобальная версия Java может со временем измениться и привести к сбою вашего сервера Tomcat из-за ошибок или несовместимости. Поэтому, если вы определяете свой собственный JAVA_HOME
, вы можете убедиться, что ваш Tomcat запускается с версией Java, которую вы ранее тестировали и на которую можно положиться.
Другой момент может заключаться в том, что у вас запущено несколько экземпляров и вам нужно указать другой CATALINA_HOME
для разных экземпляров.
Я думаю, что лучше всего определять переменные явно, вместо того, чтобы полагаться на переменные, которые могут изменяться со временем или даже не существовать, в зависимости от конфигурации всей системы. Это также упрощает устранение неполадок и просмотр используемых путей и двоичных файлов.