ฉันใช้เซิร์ฟเวอร์ที่มี MKDocs สำหรับเอกสารประกอบ
ในการใช้ MKDocs จากไดเร็กทอรีที่คุณต้องเรียกใช้โปรเจ็กต์ mkdocs ให้บริการ -a 192.168.3.107:8080
เพื่อที่จะได้เริ่มต้น
จนถึงตอนนี้ฉันใช้ /usr/bin/tmux new-session -d -s "MKDOCS" "cd /root/mkdocs && mkdocs เสิร์ฟ -a 192.168.3.107:8080"
เพื่อให้มันทำงานในพื้นหลัง แต่นี่เป็นวิธีแก้ปัญหาที่สมบูรณ์มากและฉันต้องการเรียกใช้เป็น systemd Service
ฉันลองทำสิ่งนี้ แต่มันใช้งานไม่ได้:
[หน่วย]
Description=บริการ mkdocs
ConditionPathExists=/root/mkdocs
[บริการ]
ประเภท = ง่าย
ผู้ใช้ = ราก
WorkingDirectory=/usr/local/bin
ExecStart=/root/mkdocs ให้บริการ -a 192.168.3.107:8080
RemainAfterExit=ใช่
[ติดตั้ง]
WantedBy=multi-user.target
หลังจากที่ฉันเรียกใช้บริการด้วยการเริ่มต้น สถานะจะแสดง:
root@server:~/mkdocs# สถานะบริการ mkdocs
â mkdocs.service - บริการ mkdocs
โหลดแล้ว: โหลดแล้ว (/etc/systemd/system/mkdocs.service; ปิดใช้งาน; การตั้งค่าล่วงหน้าของผู้ขาย: เปิดใช้งาน)
ใช้งานอยู่: ล้มเหลว (ผลลัพธ์: exit-code) ตั้งแต่วันพุธที่ 2022-02-02 13:54:44 CET; 3 นาที 46 วินาทีที่แล้ว
กระบวนการ: 379585 ExecStart=/root/mkdocs ให้บริการ -a 192.168.3.107:8080 (รหัส=ออก, สถานะ=203/EXEC)
PID หลัก: 379585 (รหัส=ออก สถานะ=203/EXEC)
ฉันได้รับการแสดง journalctl -xe:
-- ตัวระบุงานคือ 368094
2 ก.พ. 13:54:44 server.domain.local systemd[379585]: mkdocs.service: ไม่สามารถดำเนินการคำสั่ง: ปฏิเสธการอนุญาต
2 ก.พ. 13:54:44 server.domain.local systemd[379585]: mkdocs.service: ล้มเหลวในขั้นตอนการวางไข่ EXEC /root/mkdocs: สิทธิ์ถูกปฏิเสธ
-- เรื่อง: ไม่สามารถดำเนินการกระบวนการ /root/mkdocs
-- กำหนดโดย: systemd
-- การสนับสนุน: http://www.ubuntu.com/support
--
-- กระบวนการ /root/mkdocs ไม่สามารถดำเนินการและล้มเหลว
--
-- หมายเลขข้อผิดพลาดที่ส่งคืนโดยกระบวนการนี้คือ ERRNO
2 ก.พ. 13:54:44 server.domain.local systemd[1]: mkdocs.service: ออกจากกระบวนการหลักแล้ว, รหัส=ออก, สถานะ=203/EXEC
-- หัวเรื่อง: ออกจากกระบวนการหน่วยแล้ว
-- กำหนดโดย: systemd
-- การสนับสนุน: http://www.ubuntu.com/support
--
-- กระบวนการ ExecStart= ที่เป็นของหน่วย mkdocs.service ได้ออกแล้ว
--
-- รหัสออกจากกระบวนการคือ 'ออก' และสถานะการออกคือ 203
02 ก.พ. 13:54:44 server.domain.local systemd[1]: mkdocs.service: ล้มเหลวด้วยผลลัพธ์ 'exit-code'
-- หัวเรื่อง: หน่วยล้มเหลว
-- กำหนดโดย: systemd
-- การสนับสนุน: http://www.ubuntu.com/support
--
-- หน่วย mkdocs.service เข้าสู่สถานะ 'ล้มเหลว' พร้อมผลลัพธ์ 'exit-code'
ฉันให้สิทธิ์ไดเรกทอรีทั้งหมดกับ chmod -R 777 /root/mkdocs
แต่ฉันยังคงได้รับข้อผิดพลาดเดียวกัน
หวังว่าจะมีคนช่วยให้ฉันทำงานได้ ขอขอบคุณ
แก้ไข:
ฉันเปลี่ยนเส้นทางแล้ว สิทธิ์ยังคง 777 ดังนั้นรหัสตอนนี้คือ:
แต่ก็ยังใช้งานไม่ได้ ฉันได้รับ:
root@server:/test# systemctl daemon-reload
root@server:/test# systemctl เริ่ม mkdocs.service
root@server:/test# systemctl สถานะ mkdocs.service
â mkdocs.service - บริการ mkdocs
โหลดแล้ว: โหลดแล้ว (/etc/systemd/system/mkdocs.service; ปิดใช้งาน; การตั้งค่าล่วงหน้าของผู้ขาย: เปิดใช้งาน)
ใช้งานอยู่: ล้มเหลว (ผลลัพธ์: exit-code) ตั้งแต่วันพุธที่ 2022-02-02 14:17:24 CET; 4 วินาทีที่แล้ว
กระบวนการ: 380128 ExecStart=/test mkdocs ให้บริการ -a 192.168.3.107:8080 (รหัส=ออก, สถานะ=203/EXEC)
PID หลัก: 380128 (รหัส=ออก สถานะ=203/EXEC)
02 ก.พ. 14:17:24 server.domain.local systemd[1]: เริ่มบริการ mkdocs
2 ก.พ. 14:17:24 server.domain.local systemd[380128]: mkdocs.service: ไม่สามารถดำเนินการคำสั่ง: ปฏิเสธการอนุญาต
2 ก.พ. 14:17:24 server.domain.local systemd[380128]: mkdocs.service: ล้มเหลวในขั้นตอนการวางไข่ EXEC / ทดสอบ: ปฏิเสธการอนุญาต
2 ก.พ. 14:17:24 server.domain.local systemd[1]: mkdocs.service: ออกจากกระบวนการหลักแล้ว, รหัส=ออก, สถานะ=203/EXEC
2 ก.พ. 14:17:24 server.domain.local systemd[1]: mkdocs.service: ล้มเหลวด้วยผลลัพธ์ 'exit-code'
และ สมุดรายวันctl -xe
แสดง:
-- หน่วย mkdocs.service เข้าสู่สถานะ 'ล้มเหลว' พร้อมผลลัพธ์ 'exit-code'
02 ก.พ. 14:20:32 server.domain.local systemd[1]: เริ่มบริการ mkdocs
-- เรื่อง: งานเริ่มต้นสำหรับหน่วย mkdocs.service เสร็จสิ้นเรียบร้อยแล้ว
-- กำหนดโดย: systemd
-- การสนับสนุน: http://www.ubuntu.com/support
--
-- งานเริ่มต้นสำหรับหน่วย mkdocs.service เสร็จสิ้นเรียบร้อยแล้ว
--
-- ตัวระบุงานคือ 368972
2 ก.พ. 14:20:32 server.domain.local systemd[380164]: mkdocs.service: ไม่สามารถดำเนินการคำสั่ง: ปฏิเสธการอนุญาต
2 ก.พ. 14:20:32 server.domain.local systemd[380164]: mkdocs.service: ล้มเหลวในขั้นตอนการวางไข่ EXEC / ทดสอบ: ปฏิเสธการอนุญาต
-- เรื่อง: ไม่สามารถดำเนินการกระบวนการ / ทดสอบได้
-- กำหนดโดย: systemd
-- การสนับสนุน: http://www.ubuntu.com/support
--
-- กระบวนการ /test ไม่สามารถดำเนินการได้และล้มเหลว
--
-- หมายเลขข้อผิดพลาดที่ส่งคืนโดยกระบวนการนี้คือ ERRNO
2 ก.พ. 14:20:32 server.domainlocal systemd[1]: mkdocs.service: ออกจากกระบวนการหลักแล้ว, รหัส=ออก, สถานะ=203/EXEC
-- หัวเรื่อง: ออกจากกระบวนการหน่วยแล้ว
-- กำหนดโดย: systemd
-- การสนับสนุน: http://www.ubuntu.com/support
--
-- กระบวนการ ExecStart= ที่เป็นของหน่วย mkdocs.service ได้ออกแล้ว
--
-- รหัสออกจากกระบวนการคือ 'ออก' และสถานะการออกคือ 203
02 ก.พ. 14:20:32 server.domain.local systemd[1]: mkdocs.service: ล้มเหลวด้วยผลลัพธ์ 'exit-code'
-- หัวเรื่อง: หน่วยล้มเหลว
-- กำหนดโดย: systemd
-- การสนับสนุน: http://www.ubuntu.com/support
--
-- หน่วย mkdocs.service เข้าสู่สถานะ 'ล้มเหลว' พร้อมผลลัพธ์ 'exit-code'
มันไม่สมเหตุสมผลเลยเนื่องจากการอนุญาตคือ 777