Як автоматично запускати служби під час завантаження в Linux?

Одним із важливих знань для системного адміністратора є те, як налаштувати службу під час завантаження, щоб, коли сервер перезавантажується, він запускався автоматично.

Для перезавантаження сервера можуть бути різні причини, зокрема такі.

  • Запланований на тиждень, місяць
  • Неочікувано через проблему з апаратним забезпеченням/ядром

Зробивши правильну конфігурацію, вам не доведеться запускати їх вручну щоразу під час перезавантаження.

Трохи автоматизації. чи не так?

Наступні приклади стосуються двох популярних дистрибутивів, на яких протестовано DigitalOcean серверів.

CentOS або RHEL 6.x

У наступному прикладі я взяв HTTP-сервер Apache, але процедура залишається незмінною для будь-яких інших служб, які ви хочете запустити під час завантаження у версії Red Hat Enterprise Linux (RHEL) або CentOS 6.

Ви можете зберегти будь-яку назву файлу сценарію, і тут я зберіг httpd

  • Станьте користувачем root на своєму сервері Linux
  • Створіть або скопіюйте свій сценарій у /etc/init.d/
[[email protected] init.d]# ls -ltr httpd
-rwxr-xr-x. 1 root root 3371 Jan 6 08:56 httpd
[[email protected] init.d]#

Ми будемо використовувати утиліту chkconfig, яка доступна за замовчуванням у Linux або CentOS.

  • Додайте сценарій для запуску під час завантаження за допомогою chkconfig із параметром –add
[[email protected] init.d]# chkconfig --add httpd
[[email protected] init.d]# chkconfig httpd on
  • Підтвердьте успішне додавання сценарію за допомогою –list
[[email protected] init.d]# chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[[email protected] init.d]#

Це все! Сценарій httpd буде викликано для запуску служб під час завантаження Linux.

  Як керувати групами та користувачами в Linux

Якщо вам потрібно вимкнути службу автозапуску, ви можете скористатися наступними командами

chkconfig httpd off
chkconfig --del httpd

RHEL або CentOS 7.x/8.x

Процедура налаштування служб під час завантаження в RHEL 7 дещо відрізняється від RHEL 6. Для керування службами використовується systemd.

Більшість програмного забезпечення, як-от Apache, PHP, MySQL, скрипти Nginx, додаються до служб під час їх встановлення.

Розглянемо приклад PHP-FPM.

Перш за все, давайте подивимось статус php-fpm (це припускається, що у вас уже є сценарії в /usr/lib/systemd/system/)

[[email protected] ~]# systemctl status php-fpm
php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
Active: inactive (dead) 
[[email protected] ~]#

Як бачите, статус вимкнено, що означає, що він не налаштований на запуск під час завантаження.

  Як отримати доступ до класичного режиму Gnome в Linux

Давайте дозволимо php-fpm запускатися під час завантаження за допомогою systemctl

[[email protected] ~]# systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
[[email protected] ~]#

Тепер давайте подивимось статус

[[email protected] ~]# systemctl status php-fpmphp
php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)    Active: inactive (dead) 
[[email protected] ~]#

php-fpm готовий до запуску під час завантаження. Давайте перевіримо це, перезавантаживши сервер.

Якщо вам коли-небудь знадобиться вимкнути запуск служб під час завантаження, ви можете скористатися наведеною нижче командою

systemctl disable php-fpm

Ви також можете переглянути цю публікацію з поясненнями systemd і автозапуску служб під час завантаження.

  Як налаштувати ігрові периферійні пристрої Razer на Linux за допомогою Polychromatic

Ubuntu

Налаштування служб автозапуску в Ubuntu дещо відрізняється. Скажімо, назва сценарію Nginx

  • Увійдіть на сервер Ubuntu за допомогою root
  • Скопіюйте сценарій у папку /etc/init.d/
  • Виконайте наведену нижче команду
update-rc.d nginx defaults
  • Перезавантажте сервер, щоб переконатися, що служби запущено.

Це допомогло мені, і я вірю, що буде корисно і вам.

Системне адміністрування – це завжди цікаво та складно, і якщо ви прагнете покращити свою кар’єру в цьому, ви можете звернутися до цього Курс Udemy.

Далі перевірте, як знайти причину раптового перезавантаження Linux.
Сюди ви хочете встановити/оновити PHP-FPM 5.6 на CentOS 6.x.

Вам сподобалось читати статтю? Як щодо того, щоб поділитися зі світом?