시스템 관리자가 알아야 할 필수 사항 중 하나는 부팅 시 서비스를 구성하는 방법이므로 서버가 재부팅되면 자동으로 시작됩니다.
서버 재부팅에는 다음을 포함하여 다양한 이유가 있을 수 있습니다.
- 매주, 매월 예정
- 하드웨어/커널 문제로 인해 예상치 못한
올바른 구성을 수행하면 재부팅할 때마다 수동으로 시작할 필요가 없습니다.
약간의 자동화. 그렇지 않아?
다음 예는 다음에서 테스트한 두 개의 인기 있는 배포판에 대한 것입니다. 디지털오션 서버.
목차
CentOS 또는 RHEL 6.x
다음 예에서는 Apache HTTP 서버를 사용했지만 RHEL(Red Hat Enterprise Linux) 또는 CentOS 6 버전에서 부팅할 때 시작하려는 다른 서비스에 대해 절차가 동일하게 유지됩니다.
모든 스크립트 파일 이름을 유지할 수 있으며 여기에 httpd를 보관했습니다.
- 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]#
Linux 또는 CentOS에서 기본적으로 사용 가능한 chkconfig 유틸리티를 사용합니다.
- –add 매개변수와 함께 chkconfig를 사용하여 부팅 시 시작할 스크립트 추가
[[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]#
그게 다야! Linux 부팅 시 서비스를 시작하기 위해 httpd 스크립트가 호출됩니다.
자동 시작 서비스를 비활성화해야 하는 경우 다음 명령을 사용할 수 있습니다.
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] ~]#
보시다시피 상태가 비활성화됨은 부팅 시 시작하도록 구성되지 않았음을 의미합니다.
systemctl을 사용하여 부팅 시 php-fpm이 시작되도록 합시다.
[[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
또한 부팅 시 시스템 및 자동 시작 서비스를 설명하는 이 게시물을 확인하는 것이 좋습니다.
우분투
Ubuntu에서 자동 시작 서비스를 구성하는 것은 약간 다릅니다. 스크립트 이름이 Nginx라고 가정해 보겠습니다.
- 루트로 Ubuntu 서버에 로그인
- /etc/init.d/ 폴더에 스크립트 복사
- 아래 명령을 실행
update-rc.d nginx defaults
- 서비스가 시작되었는지 확인하려면 서버를 재부팅하십시오.
이것은 저에게 도움이 되었고 여러분에게도 도움이 될 것이라고 믿습니다.
시스템 관리는 항상 재미있고 도전적이며, 이 분야에서 경력을 쌓고 싶다면 다음을 참조하십시오. 유데미 코스.
다음으로 Linux의 갑작스런 재부팅 이유를 찾는 방법을 확인하십시오.
CentOS 6.x에 PHP-FPM 5.6을 설치/업그레이드하려면 여기로 이동하십시오.
기사를 재미있게 읽었습니까? 세상과 함께 나누는 건 어떨까요?