我正在做一些测试设置的实验...我开发了一个 bash 脚本来使用 systemd 将其设置为自动启动。
我安装了 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
也许您可以考虑使用本机systemd
脚本来启动 JBoss。这里你可以找到一个例子。请随意更改路径和变量以反映您的安装。
[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
谢谢大家的想法。