ฉันใช้ CentOS 7 ฉันจะทราบได้อย่างไรว่าเหตุใดบริการไม่สามารถเริ่มต้นได้ ฉันได้สร้างบริการนี้
[rails@server ~]$ sudo cat /usr/lib/systemd/system/nodejs.service
[Unit]
Description=nodejs server
[Service]
User=rails
Group=rails
ExecStart=/home/rails/NodeJSserver/start.sh
ExecStop=/home/rails/NodeJSserver/stop.sh
[Install]
WantedBy=multi-user.target
ไฟล์ชี้ไปที่นี้
[rails@server ~]$ cat /home/rails/NodeJSserver/start.sh
#!/bin/bash
forever start /home/rails/NodeJSserver/server.js
ฉันสามารถเรียกใช้ไฟล์นี้ได้ด้วยตัวเอง แต่เมื่อฉันลองเรียกใช้เป็นส่วนหนึ่งของบริการฉันสังเกตว่าเซิร์ฟเวอร์ nodeJS ของฉันไม่เริ่มทำงาน แม้ว่าฉันจะตรวจสอบ "sudo systemctl --state = ล้มเหลว" ฉันไม่เห็นข้อผิดพลาดใด ๆ ...
[rails@server ~]$ sudo systemctl enable NodeJSserver
[rails@server ~]$ sudo systemctl start NodeJSserver
[rails@server ~]$
[rails@server ~]$
[rails@server ~]$ forever list
info: No forever processes running
[rails@server ~]$
[rails@server ~]$
[rails@server ~]$ sudo systemctl --state=failed
UNIT LOAD ACTIVE SUB DESCRIPTION
● nginx.service loaded failed failed The nginx HTTP and reverse proxy server
● systemd-sysctl.service loaded failed failed Apply Kernel Variables
● systemd-vconsole-setup.service loaded failed failed Setup Virtual Console
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
3 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.
ฉันจะทราบได้อย่างไรว่าเหตุใดบริการของฉันจึงไม่เริ่มทำงาน
journalctl -u nodejs
ควรให้ข้อความแสดงข้อผิดพลาดที่มีความหมายมากกว่านี้แก่คุณ