ฉันกำลังพยายามปรับใช้ไซต์บนเซิร์ฟเวอร์ linux ตามคำแนะนำของ Corey Schafer สำหรับ Flask
เว็บไซต์ของฉันใช้งานได้ แต่ nginx ไม่สามารถอ่าน/เข้าถึง/ค้นหาโฟลเดอร์สแตติกและไฟล์ภายในได้
ในตอนแรกฉันได้ลบไซต์เริ่มต้นที่เปิดใช้งานและสร้างไซต์ที่กำหนดเอง:
sudo rm /etc/nginx/sites-enabled/default
แล้ว:
sudo nano /etc/nginx/sites-enabled/flaskblog
นี่คือสิ่งที่ฉันป้อนลงในไฟล์นั้น:
เซิร์ฟเวอร์ {
ฟัง 80;
server_name DOMAIN_IP;
ตำแหน่ง / คงที่ {
นามแฝง /Users/myname/VScode/Flask_Blog/flaskblog/static;
}
ที่ตั้ง / {
proxy_pass http://localhost:8000;
รวม /etc/nginx/proxy_params;
ปิด proxy_redirect;
}
}
แต่หน้าคงที่ทั้งหมดกลับ 404
หากฉันตรวจสอบบันทึกข้อผิดพลาดของ nginx ฉันเห็น:
2022/06/03 06:09:42 [ข้อผิดพลาด] 71064#71064: *1 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/main.css" ล้มเหลว (2: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว) ไคลเอ็นต์: 217.146.83.247 เซิร์ฟเวอร์: IP คำขอ: "GET /static/main.css HTTP/1.1" โฮสต์: "IP" ผู้อ้างอิง: "http://IP/"
2022/06/03 06:09:42 [ข้อผิดพลาด] 71064#71064: *1 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/profile_pics/271fcf0ffe2a92aa.jpg" ล้มเหลว (2: ไม่มีไฟล์ดังกล่าวหรือ ไดเรกทอรี), ไคลเอ็นต์: 217.146.83.247, เซิร์ฟเวอร์: IP, คำขอ: "GET /static/profile_pics/271fcf0ffe2a92aa.jpg HTTP/1.1", โฮสต์: "IP", ผู้อ้างอิง: "http://IP/"
2022/06/03 06:09:42 [ข้อผิดพลาด] 71064#71064: *4 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/profile_pics/default.jpg" ล้มเหลว (2: ไม่มีไฟล์ดังกล่าวหรือ ไดเรกทอรี), ไคลเอ็นต์: 217.146.83.247, เซิร์ฟเวอร์: IP, คำขอ: "GET /static/profile_pics/default.jpg HTTP/1.1", โฮสต์: "IP", ผู้อ้างอิง: "http://IP/"
2022/06/03 06:09:45 [ข้อผิดพลาด] 71064#71064: *4 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/main.css" ล้มเหลว (2: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว) ไคลเอ็นต์: 217.146.83.247 เซิร์ฟเวอร์: IP คำขอ: "GET /static/main.css HTTP/1.1" โฮสต์: "IP" ผู้อ้างอิง: "http://IP/home"
ดังนั้นฉันจึงเห็นว่า nginx กำลังไปยังตำแหน่งที่ถูกต้อง ดังนั้นฉันจึงไม่เข้าใจว่าทำไมมันถึงพูดว่า "ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว"
ฉันได้ลองทั้งสองอย่างแล้ว
ตำแหน่ง / คงที่ {
นามแฝง /Users/myname/VScode/Flask_Blog/flaskblog/static;
}
และ
ตำแหน่ง / คงที่ {
รูท /Users/myname/VScode/Flask_Blog/flaskblog;
}
และทั้งคู่สร้างข้อผิดพลาดเดียวกันและตำแหน่งเดียวกัน
ฉันยังลงซีดีแล้วทำ ล
ในแต่ละจุดเพื่อตรวจสอบว่าทุกอย่างอยู่ในตำแหน่งที่ถูกต้องและทุกอย่างดูเรียบร้อย
(venv) charles@flask-server:~/Flask_Blog$ ls
flaskblog __pycache__ ความต้องการ txt run.py venv
(venv) charles@flask-server:~/Flask_Blog$ cd กระติกน้ำบล็อก
(venv) charles@flask-server:~/Flask_Blog/flaskblog$ ls
ข้อผิดพลาด config.py __init__.py หลัก models.py โพสต์ __pycache__ ผู้ใช้เทมเพลตคงที่ site.db
(venv) charles@flask-server:~/Flask_Blog/flaskblog$ ซีดีคงที่
(venv) charles@flask-server:~/Flask_Blog/flaskblog/static$ ls
main.css profile_pics
(venv) charles@flask-server:~/Flask_Blog/flaskblog/static$ cd main.css
-bash: cd: main.css: ไม่ใช่ไดเรกทอรี
(venv) charles@flask-server:~/Flask_Blog/flaskblog/static$ ซีดี profile_pics
(venv) charles@flask-server:~/Flask_Blog/flaskblog/static/profile_pics$ ls
และถ้าฉันไปที่ "/Users/myname/VScode/Flask_Blog/flaskblog/static" บนเครื่องส่วนตัวของฉัน มันจะไปยังตำแหน่งที่ถูกต้อง
ขอบคุณสำหรับความช่วยเหลือใด ๆ