Score:0

redhat linux 8 systemd บริการข้อผิดพลาด 203

ธง az
  1. ปรับใช้ตัวอย่าง dot net core web api กับอินสแตนซ์ EC2 ในโฟลเดอร์ /var/www/hello-app โดยใช้ผู้ใช้ âec2-userâ ใน FileZilla

  2. โฟลเดอร์ประกอบด้วย dll ที่จำเป็นและไฟล์ dotnet อื่นๆ

  3. ติดตั้งเว็บเซิร์ฟเวอร์ apache บนอินสแตนซ์ ec2 และเริ่มเว็บเซิร์ฟเวอร์

  4. เรียกใช้บริการ dotnet จากบรรทัดคำสั่งเพื่อให้แน่ใจว่าใช้งานได้โดยใช้คำสั่งด้านล่าง

cd /usr/lib64/dotnet.cd
ดอทเน็ต /var/www/helloapp/WebApi4.dll
  1. ฉันสร้างบริการ systemd สำหรับ Dot net web api ดังนี้
sudo vim /etc/systemd/system/kestrel-helloapp.service

[หน่วย]
คำอธิบาย=ตัวอย่าง .NET Web API App 

[บริการ]
WorkingDirectory=/var/www/helloapp
ExecStart=/usr/lib64/dotnet /var/www/helloapp/WebApi4.dll
เริ่มใหม่ = เสมอ
# เริ่มบริการใหม่หลังจาก 10 วินาทีหากบริการ dotnet ขัดข้อง:
รีสตาร์ทวินาที=10
KillSignal=SIGINT
SyslogIdentifier = ตัวอย่าง dotnet
ผู้ใช้ = อาปาเช่
สิ่งแวดล้อม=ASPNETCORE_ENVIRONMENT=การผลิต 
สภาพแวดล้อม=ASPNETCORE_URLS=http://localhost:5000

[ติดตั้ง]
WantedBy=multi-user.target
เมื่อฉันเรียกใช้คำสั่งต่อไปนี้
sudo systemctl เปิดใช้งาน kestrel-helloapp.service
sudo systemctl เริ่ม kestrel-helloapp.service
sudo systemctl สถานะ kestrel-helloapp.service
ฉันได้รับข้อผิดพลาดต่อไปนี้ (203/EXEC) สำหรับคำสั่งที่สาม 
[ec2-user@ip-172-31-81-1 dotnet]$ sudo systemctl สถานะ kestrel-helloapp.service
â kestrel-helloapp.service - ตัวอย่างแอป .NET Web API ที่ทำงานบน CentOS 7
   โหลดแล้ว: โหลดแล้ว (/etc/systemd/system/kestrel-helloapp.service; เปิดใช้งาน; การตั้งค่าล่วงหน้าของผู้ขาย: ปิดใช้งาน)
   ใช้งานอยู่: กำลังเปิดใช้งาน (รีสตาร์ทอัตโนมัติ) (ผลลัพธ์: exit-code) ตั้งแต่วันอังคารที่ 2022-01-11 15:40:30 UTC; 6 วินาทีที่แล้ว
  กระบวนการ: 71626 ExecStart=/usr/lib64/dotnet /var/www/helloapp/WebApi4.dll (รหัส=ออก, สถานะ=203/EXEC)
 PID หลัก: 71626 (รหัส=ออก สถานะ=203/EXEC)

11 ม.ค. 15:40:30 ip-172-31-81-1.ec2.internal systemd[1]: kestrel-helloapp.service: ออกจากกระบวนการหลักแล้ว รหัส=ออกแล้ว สถานะ=203/EXEC
11 ม.ค. 15:40:30 ip-172-31-81-1.ec2.internal systemd[1]: kestrel-helloapp.service: ล้มเหลวด้วยผลลัพธ์ 'exit-code'
  1. เปิดพอร์ต 5,000 โดยใช้
sudo firewall-cmd --add-port=5000/tcp --permanent
  1. ทำให้เจ้าของ apache ของ /var/www โฟลเดอร์
sudo chown -R apache:apache /var/www
sudo chmod -R 550 /var/www

ฉันค้นหาข้อผิดพลาดและสาเหตุที่เป็นไปได้ที่เกี่ยวข้องกับข้อผิดพลาด พบดังต่อไปนี้ ตรวจสอบทุกอย่างที่ฉันสามารถคิดยังคงเหมือนเดิม

ข้อความแสดงข้อผิดพลาด (code=exited, status=203/EXEC) มักพบเมื่อตัวสคริปต์เองหรือตัวแปลไม่สามารถดำเนินการได้

อาจมีเหตุผลเหล่านี้:
    พาธไปยังสคริปต์ผิด (เช่น /home/py/ReadPressure2AndPostToMqtt.py)
    สคริปต์ไม่สามารถเรียกใช้งานได้
    ไม่มี shebang (บรรทัดแรก)
    เส้นทางผิดใน shebang (เช่น /bin/python3)
    ไฟล์ภายในในสคริปต์ของคุณอาจไม่มีสิทธิ์เข้าถึง
    SELinux อาจขัดขวางการดำเนินการของพารามิเตอร์ ExecStart ตรวจสอบ /var/log/audit/audit.log สำหรับข้อความของแบบฟอร์ม: type=AVC msg=audit([...]): avc: ปฏิเสธ { ดำเนินการ } หรือในเอาต์พุตของ ausearch -ts ล่าสุด -m avc - ผม.
    คุณมีพารามิเตอร์ WorkingDirectory ไม่ถูกต้อง
jp flag
จะเกิดอะไรขึ้นหากคุณปิดใช้งาน SELinux โดยใช้ 'sudo setenforce 0'

โพสต์คำตอบ

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