在按照本教程在 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.
但是,我的 [Install] 部分显然有一个条目:
[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
我怎样才能让它允许我启用此服务?我相信我已经完成了它所要求的一切。
您的 systemd 单元没有
[Install]
部分。但是,它确实有一个[INSTALL]
部分。部分名称区分大小写。当您已经启用服务并且符号链接已经存在时,也可以在 CentOS 7(至少)上看到类似的警告(单元文件没有 [Install] 部分。它们不应该使用 systemctl 启用。)在 /etc/systemd/system/multi-user.target.wants/。
make install
我从用于在新配置的 Droplet (VPS) 上安装应用程序的 Makefile重新运行时发现了这一点。