Что лучший способ состоит в том, чтобы запустить серверное приложение на человечности?

Это - моя первая попытка выполнения сервера Linux. У меня есть серверное приложение, которое я хочу работать на сервере, к которому у меня есть ssh доступ.

Если бы это был Windows Server, то я просто открыл бы удаленный рабочий стол, выполнил бы вещь и разъединил бы сессию удаленного рабочего стола. Однако это - мое понимание, что выходить из ssh сессии уничтожает все процессы, порожденные в.

Таким образом, я сделал немного поиска, и кажется, что я должен буду использовать screen или tmux сохранять мой процесс, бегущий за разъединением. Однако я хотел бы знать, существует ли лучший путь. Серверный процесс должен смочь считать команды управления из stdin, и я смог бы просмотреть некоторый stdout вход вывода также (хотя остальная часть его неизбежно входит в файл журнала).


ОБНОВЛЕНИЕ: я в настоящее время запускаю приложение в tmux сессии. Это, кажется, работает хорошо, но я не вполне чувствую, что это - самый лучший путь...

3
задан 21 October 2018 в 10:38

1 ответ

Чтобы запустить сервер в Linux, вы добавляете его к вещам, которыми управляет systemd. Службы описываются коротким файлом service, который помещается в /etc/systemd/system/{target}/, где {target} указывает состояние системы (обычно multi-user.target.wants). Описание службы включает в себя такие вещи, как исполняемый файл и что делать, если он завершается. Например, сервер mysql:

# MySQL systemd service file

[Unit]
Description=MySQL Community Server
After=network.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
PermissionsStartOnly=true
ExecStartPre=/usr/share/mysql/mysql-systemd-start pre
ExecStart=/usr/sbin/mysqld
ExecStartPost=/usr/share/mysql/mysql-systemd-start post
TimeoutSec=600
Restart=on-failure
RuntimeDirectory=mysqld
RuntimeDirectoryMode=755

После настройки файла вы используете команду systemctl:

  • systemctl start {service} для запуска сервера [ 1112]
  • systemctl stop {service} для остановки сервера
  • systemctl enable {service} для запуска сервера после загрузки
  • systemctl disable {service} для предотвращения запуска сервера после перезагрузки
1
ответ дан 1 December 2019 в 17:27

Другие вопросы по тегам:

Похожие вопросы: