mysql과 liferay라는 두 가지 서비스가 있습니다. Liferay 시작은 mysql에 따라 다르지만 liferay의 종료도 mysql에 따라 다릅니다. 문제는 liferay의 종료가 끝나기 전에 systemd가 mysql을 종료한다는 것입니다. "systemctl stop mysql"을 실행하면 두 서비스가 동시에 종료되기 시작하고 liferay에는 자체 종료를 완료할 mysql 서비스가 없습니다.
Liferay의 서비스는 다음과 같이 선언되었습니다.
[Unit]
Description=Liferay Portal
After=network.target,mysql.service
Requires=mysql.service
[Service]
Type=forking
WorkingDirectory=/opt/liferay
ExecStart=/opt/liferay/liferay-ce-portal/tomcat/bin/startup.sh
User=liferay
Group=liferay
Restart=always
[Install]
WantedBy=multi-user.target
어떤 아이디어가 있나요?
티아
페르난도
답변1
Gerald의 의견에 따르면 대답은 단순히 "Requires="를 제거하는 것 같습니다.
이 버전은 트릭을 수행합니다.
[Unit]
Description=Liferay Portal
After=mysql.service
[Service]
Type=forking
WorkingDirectory=/opt/liferay
ExecStart=/opt/liferay/liferay-ce-portal/tomcat/bin/startup.sh
User=liferay
Group=liferay
Restart=always
[Install]
WantedBy=multi-user.target
고마워요 제럴드!