在关注的同时本教程是关于在 CentOS 上安装 tomcat我在执行该行时遇到了问题sudo systemctl enable tomcat
- 它抱怨以下错误消息:
The unit files have no installation config (WantedBy, RequiredBy, Also, Alias
settings in the [Install] section, and DefaultInstance for template units).
This means they are not meant to be enabled using systemctl.
但是,我的[安装]部分中显然有一个条目:
[Unit]
Description=Tomcat 9 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms256M -Xmx512M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh
[INSTALL]
WantedBy=multi-user.target
我如何才能让它允许我启用这项服务?我认为我已经按照它的要求做了所有正确的事情。
答案1
您的 systemd 单元没有[Install]
部分。但是,它有一个[INSTALL]
部分。部分名称区分大小写。
答案2
当您已启用该服务并且符号链接已存在于 /etc/systemd/system/multi-user.target.wants/ 中时,在 CentOS 7 上(至少)也可以看到类似的警告(单元文件没有 [Install] 部分。它们不打算使用 systemctl 启用。)。我在从make install
用于在新配置的 droplet(VPS)上安装应用程序的 Makefile 重新运行时发现了这一点。