Tomcat이 설치된 ec2 시스템/redhat이 있습니다. 저는 ec2-user가 아닌 userX만이 이 애플리케이션을 시작하기를 원합니다. 그러나 재부팅 후 ec2는 자동으로 ec2-user로 시작됩니다. userX가 startup.sh
자동으로 명령을 실행하게 하려면 어떻게 해야 합니까? 현재는 userX로 로그인하여 수동으로 수행하고 있습니다. bash /opt/tomcat/bin/startup.sh
감사합니다.
답변1
만들다시스템 서비스User=userX
서비스 정의에 있습니다. 활성화되면 systemd는 부팅 시 이를 시작합니다.
답변2
파일 만들기/etc/systemd/system/whatever.service
이 파일의 내용은 다음과 같이 간단할 수 있습니다.
[Unit]
Description=<whatever>
After=default.target
[Service]
Type=idle
User=<USERX>
Group=<GROUPX>
ExecStart=/opt/tomcat/bin/startup.sh
TimeoutStartSec=0
[Install]
WantedBy=default.target
생성한 사용자 정의 시스템 서비스 파일의 소유권과 권한을 설정하세요.
chown root.root /etc/systemd/system/whatever.service
chmod 644 /etc/systemd/system/whatever.service
실행 중인 서비스에 대한 소유권 및 실행 권한을 설정합니다.
chown USERX.GROUPX /opt/tomcat/bin/startup.sh
chmod 750 /opt/tomcat/bin/startup.sh
sysytemctl daemon-reload
systemctl enable whatever.service
whatever.service
생성한 사용자 정의 파일에서 구성할 수 있는 모든 항목에 대해서는 다른 포스터의 시스템 서비스 설명 링크를 참조하세요. 이름을 원하는 대로 변경하세요.