Tôi đang cố gắng triển khai một trang web trên máy chủ linux theo hướng dẫn của Corey Schafer cho Flask.
Trang web của tôi đang hoạt động, nhưng nginx không thể đọc/truy cập/tìm thư mục tĩnh và các tệp bên trong.
Ban đầu, tôi đã xóa kích hoạt trang mặc định và tạo một trang tùy chỉnh:
sudo rm /etc/nginx/sites-enabled/default
Sau đó:
Sudo nano /etc/nginx/sites-enabled/flaskblog
Đây là những gì tôi nhập vào tập tin đó:
người phục vụ {
nghe 80;
tên_máy chủ DOMAIN_IP;
vị trí/tĩnh {
bí danh/Người dùng/tên tôi/VScode/Flask_Blog/flaskblog/static;
}
địa điểm / {
proxy_pass http://localhost:8000;
bao gồm /etc/nginx/proxy_params;
proxy_redirect tắt;
}
}
Nhưng tất cả các trang tĩnh đều trả về 404
Nếu tôi kiểm tra nhật ký lỗi của nginx, tôi thấy:
2022/06/03 06:09:42 [lỗi] 71064#71064: *1 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/main.css" không thành công (2: Không có tệp hoặc thư mục như vậy) , máy khách: 217.146.83.247, máy chủ: IP, yêu cầu: "GET /static/main.css HTTP/1.1", máy chủ: "IP", liên kết giới thiệu: "http://IP/"
03/06/2022 06:09:42 [lỗi] 71064#71064: *1 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/profile_pics/271fcf0ffe2a92aa.jpg" không thành công (2: Không có tệp như vậy hoặc thư mục), máy khách: 217.146.83.247, máy chủ: IP, yêu cầu: "GET /static/profile_pics/271fcf0ffe2a92aa.jpg HTTP/1.1", máy chủ: "IP", liên kết giới thiệu: "http://IP/"
03/06/2022 06:09:42 [lỗi] 71064#71064: *4 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/profile_pics/default.jpg" không thành công (2: Không có tệp nào như vậy hoặc thư mục), máy khách: 217.146.83.247, máy chủ: IP, yêu cầu: "GET /static/profile_pics/default.jpg HTTP/1.1", máy chủ: "IP", liên kết giới thiệu: "http://IP/"
2022/06/03 06:09:45 [lỗi] 71064#71064: *4 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/main.css" không thành công (2: Không có tệp hoặc thư mục như vậy) , máy khách: 217.146.83.247, máy chủ: IP, yêu cầu: "GET /static/main.css HTTP/1.1", máy chủ: "IP", liên kết giới thiệu: "http://IP/home"
Vì vậy, tôi có thể thấy rằng nginx đang đi đến đúng vị trí, vì vậy tôi không hiểu tại sao nó lại báo "Không có tệp hoặc thư mục như vậy"
Tôi đã thử cả hai
vị trí/tĩnh {
bí danh/Người dùng/tên tôi/VScode/Flask_Blog/flaskblog/static;
}
và
vị trí/tĩnh {
gốc/Người dùng/tên tôi/VScode/Flask_Blog/flaskblog;
}
Và cả hai đều tạo ra cùng một lỗi và cùng một vị trí.
Mình cũng đã down cd'd về rồi done ls
tại mỗi điểm để kiểm tra xem mọi thứ có ở đúng vị trí không và mọi thứ có vẻ theo thứ tự
(venv) charles@flask-server:~/Flask_Blog$ ls
bình blog __pycache__ yêu cầu.txt run.py venv
(venv) charles@flask-server:~/Flask_Blog$ cd bình blog
(venv) charles@flask-server:~/Flask_Blog/flaskblog$ ls
lỗi config.py __init__.py mô hình chính.py bài đăng __pycache__ site.db mẫu tĩnh người dùng
(venv) charles@flask-server:~/Flask_Blog/flaskblog$ cd tĩnh
(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: Không phải thư mục
(venv) charles@flask-server:~/Flask_Blog/flaskblog/static$ cd profile_pics
(venv) charles@flask-server:~/Flask_Blog/flaskblog/static/profile_pics$ ls
Và nếu tôi truy cập "/Users/myname/VScode/Flask_Blog/flaskblog/static" trên máy cá nhân của mình thì nó sẽ đến đúng địa chỉ.
Cảm ơn bạn đã giúp đỡ.