我正在尝试使用我的Centos 7上的systemd来启动一个Java应用程序(服务器)作为服务启动,但始终失败。
这是我的push.service
[Unit] Description=b4xpush server After=syslog.target After=network.target [Service] ExecStart=/usr/java/jdk1.8.0_45/bin/java -jar /home/mike/push/PushServer.jar Type=simple Restart=on-failure [Install] WantedBy=multi-user.target
创build文件后,我开始使用
sudo systemctl start Push.service
但徒然
如果我手动运行它,java应用程序将运行正常:
/usr/java/jdk1.8.0_45/bin/java -jar /home/mike/push/PushServer.jar
要么
java -jar /home/mike/push/PushServer.jar
我怎样才能让它运行? 最终目标是在服务器引导时启动它。
这可能是一个权限错误? 当我尝试创build这个我login为迈克,我有“sudo”权利。 该应用程序(jarfile)位于我的家庭文件夹,你可以在上面的服务文件中看到。
我已经尝试了所有我能想到的东西,但是我无法解决它并让它起作用。 有任何想法吗?
编辑:使用状态添加日志文件:
[mike@vps ~]$ sudo systemctl status Push.service -l Push.service - b4xpush server Loaded: loaded (/etc/systemd/system/Push.service; disabled) Active: failed (Result: start-limit) since Thu 2015-11-12 16:20:52 CET; 1min 25s ago Process: 3651 ExecStart=/usr/java/jdk1.8.0_45/bin/java -jar /home/mike/push/PushServer.jar (code=exited, status=1/FAILURE) Main PID: 3651 (code=exited, status=1/FAILURE) Nov 12 16:20:52 vps.server.com java[3651]: at anywheresoftware.b4a.BA.raiseEvent(BA.java:84) Nov 12 16:20:52 vps.server.com java[3651]: at b4j.example.main.main(main.java:29) Nov 12 16:20:52 vps.server.com systemd[1]: Push.service: main process exited, code=exited, status=1/FAILURE Nov 12 16:20:52 vps.server.com systemd[1]: Unit Push.service entered failed state. Nov 12 16:20:52 vps.server.com systemd[1]: Push.service holdoff time over, scheduling restart. Nov 12 16:20:52 vps.server.com systemd[1]: Stopping b4xpush server... Nov 12 16:20:52 vps.server.com systemd[1]: Starting b4xpush server... Nov 12 16:20:52 vps.server.com systemd[1]: Push.service start request repeated too quickly, refusing to start. Nov 12 16:20:52 vps.server.com systemd[1]: Failed to start b4xpush server. Nov 12 16:20:52 vps.server.com systemd[1]: Unit Push.service entered failed state. [mike@vps ~]$