![chkconfig를 사용하여 .sh를 구성한 후 systemctl은 myservice 단위를 찾을 수 없음을 나타냅니다.](https://linux55.com/image/223163/chkconfig%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20.sh%EB%A5%BC%20%EA%B5%AC%EC%84%B1%ED%95%9C%20%ED%9B%84%20systemctl%EC%9D%80%20myservice%20%EB%8B%A8%EC%9C%84%EB%A5%BC%20%EC%B0%BE%EC%9D%84%20%EC%88%98%20%EC%97%86%EC%9D%8C%EC%9D%84%20%EB%82%98%ED%83%80%EB%83%85%EB%8B%88%EB%8B%A4..png)
설정을 테스트하기 위해 몇 가지 실험을 하고 있습니다. systemd를 사용하여 자동 시작되도록 설정하는 bash 스크립트를 개발했습니다.
chkconfig를 설치하고 다음과 같이 스크립트를 구성했습니다.
루트 사용:
cd /mypath
cp myscript.sh /etc/init.d/
cd /etc/init.d
chkconfig --add myscript.sh
chkconfig myscript.sh on
systemctl start myscript
나는 받았다:
Unit myscript.service could not be found.
답변1
JBoss를 시작하기 위해 기본 스크립트를 사용하는 것을 고려할 수도 있습니다 systemd
.여기예를 찾을 수 있습니다. 설치를 반영하도록 경로와 변수를 자유롭게 변경하세요.
[Unit]
Description=Jboss Application Server
After=syslog.target network.target ypbind.service
[Service]
Type=simple
TimeoutSec=0
User=jboss
EnvironmentFile=/etc/sysconfig/jboss-standalone.conf
StandardOutput=journal
ExecStart=/bin/java \
-D"[Standalone]" \
-server \
$GC_LOG_ROTATE \
-Djboss.server.log.dir=${JBOSS_LOG_DIR} \
$JAVA_OPTS \
-Djboss.modules.system.pkgs=${JBOSS_MODULES_SYSTEM_PKGS} \
-Dorg.jboss.boot.log.file=${JBOSS_LOG_DIR}/server.log \
-Dlogging.configuration=${JBOSS_LOG_CONF} \
-jar ${JBOSS_HOME}/jboss-modules.jar \
$MODULE_OPTS \
-mp ${JBOSS_MODULEPATH} \
org.jboss.as.standalone \
-Djboss.home.dir=${JBOSS_HOME} \
-Djboss.server.base.dir=${JBOSS_BASE_DIR} \
$SERVER_OPTS
[Install]
WantedBy=multi-user.target
시작점으로 위 스크립트의 JBoss 구성을 사용할 수 있습니다.
JBOSS_BASE_DIR=/opt/jboss/standalone
JBOSS_LOG_DIR=/opt/jboss/standalone/log
JBOSS_LOG_CONF=file:/opt/jboss/standalone/configuration/logging.properties
JBOSS_MODULEPATH=/opt/jboss/modules
JBOSS_MODULES_SYSTEM_PKGS=org.jboss.byteman
JAVA_OPTS= \
-Xms1024m -Xmx1024m -XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512m \
-Djava.net.preferIPv4Stack=true \
-Djava.awt.headless=true
SERVER_OPTS=-c standalone.xml
#MODULE_OPTS="-secmgr"
#DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n"
#GC_LOG_ROTATE=-verbose:gc \
-Xloggc:/opt/jboss/standalone/log/gc.log \
-XX:+PrintGCDetails \
-XX:+PrintGCDateStamps \
-XX:+UseGCLogFileRotation \
-XX:NumberOfGCLogFiles=5 \
-XX:GCLogFileSize=3M \
-XX:-TraceClassUnloading
답변2
몇 가지 테스트를 거친 후 /etc/init.d/를 변경한 후 systemctl daemon-reload
변경 사항을 적용하려면 실행해야 한다는 사실을 발견했습니다.systemctl start myscript.services
당신의 생각에 감사드립니다.