Tôi đang làm theo hướng dẫn bình của Corey Schafer.
Tôi đang cố gắng triển khai lên máy chủ Linux, nhưng không thể làm cho nginx hoạt động.
Đây là những lệnh tôi đã chạy cho đến nay:
sudo apt cài đặt nginx
pip cài đặt gunicorn
sudo rm /etc/nginx/sites-enabled/default
Sau đó tôi đã cố gắng tạo và chỉnh sửa một tệp mới:
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;
}
}
sau đó tôi chạy
Sudo nano ufw cho phép http/tcp
Sudo ufw xóa cho phép 5000
kích hoạt sudo ufw
Sau đó, khi tôi cố gắng khởi động lại nginx, tôi gặp lỗi
Sudo systemctl khởi động lại nginx
sản xuất
Công việc cho nginx.service không thành công vì quá trình kiểm soát đã thoát với mã lỗi.
Xem "systemctl status nginx.service" và "journalctl -xeu nginx.service" để biết chi tiết.
trạng thái systemctl nginx.service
sản xuất:
nginx.service - Máy chủ web hiệu suất cao và máy chủ proxy ngược
Đã tải: đã tải (/lib/systemd/system/nginx.service; đã bật; giá trị đặt trước của nhà cung cấp: đã bật)
Hoạt động: không thành công (Kết quả: mã thoát) kể từ Thứ Ba 2022-05-31 06:33:22 UTC; 4 phút 6 giây trước
Tài liệu: man:nginx(8)
Quá trình: 62279 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process bật; (mã=đã thoát, trạng thái=0/THÀNH CÔNG>
Quy trình: 62280 ExecStart=/usr/sbin/nginx -g daemon on; master_process bật; (mã=đã thoát, trạng thái=1/THẤT BẠI)
trạng thái sudo systemctl nginx
sản xuất:
nginx.service - Máy chủ web hiệu suất cao và máy chủ proxy ngược
Đã tải: đã tải (/lib/systemd/system/nginx.service; đã bật; giá trị đặt trước của nhà cung cấp: đã bật)
Hoạt động: không thành công (Kết quả: mã thoát) kể từ Thứ Tư 2022-06-01 09:41:07 UTC; 2 phút 5 giây trước
Tài liệu: man:nginx(8)
Quá trình: 66304 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process bật; (mã=đã thoát, trạng thái=1/THẤT BẠI)
CPU: 11 mili giây
Ngày 01 tháng 6 09:41:07 bình-máy chủ systemd[1]: Khởi động Máy chủ web hiệu suất cao và máy chủ proxy ngược...
Ngày 01 tháng 6 09:41:07 bình-máy chủ nginx [66304]: nginx: [nổi lên] chỉ thị không xác định "/Users/charleserrington/VScode/Flask_Blog/flaskblog" trong /etc/nginx/sites-enabled/flaskblog:6
Ngày 01 tháng 6 09:41:07 bình-máy chủ nginx [66304]: nginx: tệp cấu hình /etc/nginx/nginx.conf kiểm tra không thành công
Ngày 01 tháng 6 09:41:07 jar-server systemd[1]: nginx.service: Quá trình điều khiển đã thoát, mã=đã thoát, trạng thái=1/THẤT BẠI
Ngày 01 tháng 6 09:41:07 bình-máy chủ systemd[1]: nginx.service: Không thành công với kết quả 'mã thoát'.
Ngày 01 tháng 6 09:41:07 bình-máy chủ systemd[1]: Không khởi động được Máy chủ web hiệu suất cao và máy chủ proxy ngược.
sudo nano /var/log/nginx/error.log
sản xuất:
31/05/2022 05:54:02 [xuất hiện] 61717#61717: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 05:54:02 [xuất hiện] 61717#61717: liên kết () với [::]:80 không thành công (98: Lỗi không xác định)
31/05/2022 05:54:02 [xuất hiện] 61717#61717: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 05:54:02 [xuất hiện] 61717#61717: liên kết () với [::]:80 không thành công (98: Lỗi không xác định)
31/05/2022 05:54:02 [xuất hiện] 61717#61717: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 05:54:02 [xuất hiện] 61717#61717: liên kết () với [::]:80 không thành công (98: Lỗi không xác định)
31/05/2022 05:54:02 [xuất hiện] 61717#61717: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 05:54:02 [xuất hiện] 61717#61717: liên kết () với [::]:80 không thành công (98: Lỗi không xác định)
31/05/2022 05:54:02 [xuất hiện] 61717#61717: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 05:54:02 [xuất hiện] 61717#61717: liên kết () với [::]:80 không thành công (98: Lỗi không xác định)
31/05/2022 05:54:02 [xuất hiện] 61717#61717: vẫn không thể liên kết()
31/05/2022 06:06:31 [xuất hiện] 62174#62174: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:06:31 [xuất hiện] 62174#62174: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:06:31 [xuất hiện] 62174#62174: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:06:31 [xuất hiện] 62174#62174: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:06:31 [xuất hiện] 62174#62174: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:06:31 [xuất hiện] 62174#62174: vẫn không thể liên kết()
31/05/2022 06:10:15 [xuất hiện] 62189#62189: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:10:15 [xuất hiện] 62189#62189: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:10:15 [xuất hiện] 62189#62189: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:10:15 [xuất hiện] 62189#62189: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:10:15 [xuất hiện] 62189#62189: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:10:15 [xuất hiện] 62189#62189: vẫn không thể liên kết()
31/05/2022 06:23:31 [xuất hiện] 62221#62221: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:23:31 [xuất hiện] 62221#62221: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:23:31 [xuất hiện] 62221#62221: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:23:31 [xuất hiện] 62221#62221: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:23:31 [xuất hiện] 62221#62221: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:23:31 [xuất hiện] 62221#62221: vẫn không thể liên kết()
31/05/2022 06:33:20 [xuất hiện] 62280#62280: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:33:20 [xuất hiện] 62280#62280: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:33:20 [xuất hiện] 62280#62280: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:33:20 [xuất hiện] 62280#62280: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:33:20 [xuất hiện] 62280#62280: bind() đến 0.0.0.0:80 không thành công (98: Lỗi không xác định)
31/05/2022 06:33:20 [xuất hiện] 62280#62280: vẫn không thể liên kết()
2022/06/01 05:54:41 [xuất hiện] 65391#65391: liên kết () thành 0.0.0.0:80 không thành công (98: Lỗi không xác định)
Tất cả các lỗi dường như không xác định, vì vậy tôi không thực sự chắc chắn nên đi đâu từ đây.
Tôi đã đọc nhiều bài đăng về serverfault và stackoverflow và có vẻ như đó là điều gì đó liên quan đến cổng 80, tôi đã chạy nhiều lệnh được đề xuất, bao gồm:
netstat -tnlp | grep -w 80
netstat -ano|grep 80|grep NGHE
sudo netstat -lnp
sudo lsof -i :80
kill -9 65734 (tôi không được phép chạy cái này)
netstat-tulpn
grep -rnw /etc/nginx/ -e '80'
Và một trong những lệnh này đã làm cho nó hoạt động và cho phép tôi khởi động lại nginx và truy cập trang web, nhưng tôi không biết cái nào và bây giờ nó lại bị hỏng, nhưng lần trước có vẻ như có gì đó ở cổng 80, nhưng bây giờ khi tôi chạy kiểm tra thì không có gì ở cổng 80, có vẻ như vậy nên tôi thậm chí còn lạc lõng hơn trước.
CHỈNH SỬA:
Như Nick Andriopoulos đã chỉ ra vấn đề dường như là do
vị trí/tĩnh {
bí danh/Người dùng/tên tôi/VScode/Flask_Blog/flaskblog/static;
}
tôi đã đổi cái này thành
vị trí/tĩnh {
gốc/Người dùng/tên tôi/VScode/Flask_Blog/flaskblog/;
}
Khi tôi đã làm điều này, tôi có thể khởi động lại nginx và trang web hiện đang chạy, nhưng bây giờ nginx không thể tìm thấy tệp tĩnh.
Tôi đã kiểm tra nhật ký lỗi và tôi thấy nhiều dòng như thế nà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 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/271fcf0ffe2a92aa.jpg HTTP/1.1", máy chủ: "IP", liên kết giới thiệu: "http://IP/"
2022/06/03 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, nginx không thể tìm/truy cập đường dẫn tôi đã đặt.
Tuy nhiên, đó là đường dẫn phù hợp, nếu tôi thực hiện "Chuyển đến Thư mục" trên máy Mac của mình và dán vào tất cả các tệp và thư mục ở đó. Cảm ơn bạn đã giúp đỡ.