Одним із важливих знань для системного адміністратора є те, як налаштувати службу під час завантаження, щоб, коли сервер перезавантажується, він запускався автоматично.
Для перезавантаження сервера можуть бути різні причини, зокрема такі.
- Запланований на тиждень, місяць
- Неочікувано через проблему з апаратним забезпеченням/ядром
Зробивши правильну конфігурацію, вам не доведеться запускати їх вручну щоразу під час перезавантаження.
Трохи автоматизації. чи не так?
Наступні приклади стосуються двох популярних дистрибутивів, на яких протестовано 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.
Якщо вам потрібно вимкнути службу автозапуску, ви можете скористатися наступними командами
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] ~]#
Як бачите, статус вимкнено, що означає, що він не налаштований на запуск під час завантаження.
Давайте дозволимо 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 і автозапуску служб під час завантаження.
Ubuntu
Налаштування служб автозапуску в Ubuntu дещо відрізняється. Скажімо, назва сценарію Nginx
- Увійдіть на сервер Ubuntu за допомогою root
- Скопіюйте сценарій у папку /etc/init.d/
- Виконайте наведену нижче команду
update-rc.d nginx defaults
- Перезавантажте сервер, щоб переконатися, що служби запущено.
Це допомогло мені, і я вірю, що буде корисно і вам.
Системне адміністрування – це завжди цікаво та складно, і якщо ви прагнете покращити свою кар’єру в цьому, ви можете звернутися до цього Курс Udemy.
Далі перевірте, як знайти причину раптового перезавантаження Linux.
Сюди ви хочете встановити/оновити PHP-FPM 5.6 на CentOS 6.x.
Вам сподобалось читати статтю? Як щодо того, щоб поділитися зі світом?