ฉันจะแก้ไข“ chdir (): ไม่มีไฟล์หรือไดเรกทอรีเช่น [uwsgi.c line 1723]” บนใน wsgi บน nginx ได้อย่างไร


9

ฉันมีโครงการ treeio ในไดเรกทอรีบ้านของฉันตอนนี้ฉันต้องการเรียกใช้ treeio นั้นในเซิร์ฟเวอร์ nginx ขณะนี้ treeio สามารถทำงานบน Django ได้อย่างอิสระมาพร้อมกับแหล่งที่มา ฉันไม่ต้องการเรียกใช้ในเซิร์ฟเวอร์ Django แต่ฉันต้องการเรียกใช้บนเซิร์ฟเวอร์ nginx ฉันเพิ่งทำตามขั้นตอนที่ให้ไว้ในคำตอบของ Karthikนี้

อย่างไรก็ตามในขณะที่ดำเนินการหรือทำตามขั้นตอนที่ 4 จากคำตอบนั้นมันจะพ่นข้อผิดพลาดต่อไปนี้:

[uWSGI] getting INI configuration from uwsgi.ini
* Starting uWSGI 1.0.3-debian (32bit) on [Thu Jun 27 17:22:01 2013] *
compiled with version: 4.6.3 on 17 July 2012 02:24:04
current working directory: /home/rajesh/treeio
detected binary path: /usr/bin/uwsgi-core
chdir(): No such file or directory [uwsgi.c line 1723]

uwsgi.iniไฟล์ของฉันมี

[uwsgi] 
# set the http port
http = :8080

# change to django project directory
chdir = /home/treeio/

# add /var/www to the pythonpath, in this way we can use the project.app format
pythonpath = /var/www

# set the project settings name
env = DJANGO_SETTINGS_MODULE=treeio.settings

# load django
module = django.core.handlers.wsgi:WSGIHandler()

โปรดช่วยฉันในการปรับใช้ treeio ในเซิร์ฟเวอร์ nginx


โปรดรวมการกำหนดค่า ( uwsgi.iniและ nginx) ในคำถามของคุณ และเชื่อมโยงไปยังคำตอบ / รายการขั้นตอนที่คุณอ้างถึง (อยู่ในคำถามอื่นหรือไม่)
gertvdijk

@ADR คุณเคยคิดคำตอบสำหรับปัญหานี้หรือไม่?
Mark Stosberg

คำตอบ:


2

ข้อความแสดงข้อผิดพลาด chdir ระบุว่ากำลังพยายามรับ dir ที่ไม่มีอยู่

มันจะปรากฏออกมาจากการส่งออกที่แสดงของคุณที่ผบที่อาจจะเป็นหรือ/home/rajesh/treeio/home/treeio/

ระบุว่าผบที่ได้รับการกำหนดค่าให้ทำหน้าที่เป็นผบโครงการ Django ที่เกี่ยวข้องก็มีแนวโน้มที่จะเป็น/home/treeio/; แต่การกำหนดค่านั้นอาจมีการระบุไว้เฉพาะในสิ่งuwsgi.iniที่คุณแสดง

ดังนั้นจึงมีแนวโน้มที่จะมีอยู่จริงและทำให้เกิดปัญหาสิทธิ์เนื่องจากความจริงที่/home/treeio/ไม่จำเป็นต้องมีอยู่จริง


1

เคล็ดลับทั่วไปเกี่ยวกับ

chdir(): No such file or directory

ข้อผิดพลาดประเภท

มันน่ารำคาญเมื่อมีข้อความแสดงข้อผิดพลาดแจ้งว่า "ไม่พบไฟล์" แต่ไม่ได้บอกคุณว่าไฟล์กำลังค้นหาอะไร strace สามารถช่วยได้มันพิมพ์การเรียกของระบบทั้งหมด

ลอง

strace uwsgi --ini uwsgi.ini

ผลลัพธ์เป็นความลับ แต่ในนั้นมีบางจุดที่ควรจะบอกได้ว่าไดเรกทอรีใดขาดหายไป

ในกรณีนี้อาจเป็น / home / treeio /

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.