Score:0

Linux ทำให้ไฟล์เรียกใช้งานได้ภายในบริการ

ธง ch

ฉันมีบริการที่มีลักษณะดังนี้:

[หน่วย]
คำอธิบาย=บริการสภาพแวดล้อม API

[บริการ]
ไดเรกทอรีการทำงาน=/var/www/api
ExecStart=/var/www/api/api
เริ่มใหม่ = เสมอ
# เริ่มบริการใหม่หลังจาก 10 วินาทีหากบริการ dotnet ขัดข้อง:
รีสตาร์ทวินาที=10
KillSignal=SIGINT
SyslogIdentifier = ตัวอย่าง dotnet
ผู้ใช้ = อาปาเช่
สิ่งแวดล้อม=ASPNETCORE_ENVIRONMENT=การผลิต 

[ติดตั้ง]

บริการใช้งานได้ แต่ทุกครั้งที่ฉันคัดลอกไฟล์ใหม่ไปยังโฟลเดอร์นั้นผ่าน ftp ฉันต้องเรียกใช้ sudo chmod +x /var/www/api/api เพื่อทำให้ไฟล์นั้นสามารถเรียกใช้งานได้ จากนั้นทำ sudo systemctl รีสตาร์ท api.service

คำถามของฉันคือเป็นไปได้ไหมที่จะเพิ่มบรรทัดที่ด้านบนของบริการนี้ซึ่งจะทำให้ไฟล์นี้สามารถใช้งานได้หากไม่เป็นเช่นนั้น ฉันแค่ต้องเรียกใช้คำสั่งรีสตาร์ทเท่านั้น

Michael Hampton avatar
cz flag
ไคลเอนต์ FTP ของคุณควรทำให้สามารถเรียกใช้งานได้สำหรับคุณแล้ว
Aleksa Ristic avatar
ch flag
ไม่มันไม่ได้ ฉันพยายามลบทุกอย่าง เพิ่มไฟล์อีกครั้ง และเริ่มบริการใหม่ แต่ก็ไม่ได้ผล จากนั้นฉันทำให้มันสามารถเรียกใช้งานได้และเริ่มบริการใหม่และใช้งานได้จริง
George Y avatar
vn flag
ฉันสามารถแก้ปัญหาของคุณได้เพียงบางส่วนเท่านั้น - อย่าเรียกใช้ไฟล์ปฏิบัติการโดยตรง แต่เรียกใช้สคริปต์ทุบตีที่รัน ดังนั้นแม้คุณจะต้องพิมพ์ใหม่ `chmod +x /var/www/api/api` คุณไม่จำเป็นต้องเริ่มบริการใหม่
in flag
กำลังติดตาม @GeorgeY ตัวอย่างเช่น หากไบนารี `api` เป็น `python` ให้แทนที่ `ExecStart=/var/www/api/api` โดย `ExecStart=/bin/bash -c " /usr/bin/python3 /var/www/api/api "` คุณจึงไม่จำเป็นต้องเรียกใช้งานได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา