Điểm:2

Urls.py không cập nhật trên máy chủ sản xuất Django, sử dụng nginx và gunicorn

lá cờ in

Tôi hiện đang lưu trữ Ứng dụng web Django trên phiên bản AWS EC2, Để chạy nó ở chế độ sản xuất, tôi sử dụng NGINX và gunicorn.

Các Lỗi mà tôi đang phải đối mặt là:

Máy chủ sản xuất dường như không cập nhật urls.py, bất kể tôi làm gì

Ứng dụng được sử dụng để chuyển tệp từ tệp cục bộ sang phiên bản : Tập tinZilla

Các bước tôi đã thực hiện để giải quyết vấn đề:

  1. Xóa urls.py và viết lại nó

  2. Kiểm tra xem các tệp khác cũng từ chối cập nhật

    KẾT QUẢ của bước 2: Các tệp khác được cập nhật thành công, tôi đã thử nghiệm với các tệp tĩnh và với index.html

  3. Kiểm tra xem tệp có được cập nhật trong phiên bản hay không bằng cách sử dụng Các nano biên tập viên

    KẾT QUẢ của bước thứ 3: Tệp được cập nhật đúng cách trong phiên bản, với tất cả các thay đổi được phản ánh

  4. Chạy nó trên ví dụ bằng cách sử dụng python manage.py runserver (cho mục đích phát triển), và phát hiện ra rằng urls.py đang được cập nhật đúng cách khi sử dụng máy chủ

Thông tin khác:

1.Mọi thứ mới được cập nhật đúng cách ngày hôm qua, nhưng đột nhiên nó quyết định hành động nổi loạn

  1. Tôi đã cập nhật tất cả các gói bằng cách sử dụng sudo yum cài đặt

  2. Tôi đã khởi động lại nginx và gunicorn: sử dụng các lệnh như:

    sudo systemctl bắt đầu gunicorn

    Sudo systemctl kích hoạt gunicorn

    Sudo systemctl khởi động lại nginx

  3. Tôi đã thử kiểm tra lỗi bằng cách sử dụng Sudo nginx -t, nhưng không có lỗi xuất hiện

  4. Tôi đã kiểm tra các bản ghi lỗi, sử dụng đuôi sudo -f /var/log/nginx/error.log , nhưng không có lỗi hiển thị
    lên đây

Tôi giải quyết điều này như thế nào?

Cảm ơn bạn

Michael Hampton avatar
lá cờ cz
Ứng dụng của bạn đang tự động viết lại urls.py? Kiểm tra xem nó ở đâu [ghi nhật ký](https://docs.djangoproject.com/en/3.2/topics/logging/) để biết bất kỳ thư nào có liên quan.
Madhav avatar
lá cờ in
Tôi xin lỗi, nhưng đây là lần đầu tiên tôi nghe nói về ghi nhật ký, vì vậy đôi khi tôi có thể mất một chút thời gian để tìm ra cách 'đăng nhập', vì vậy phản hồi tiếp theo của tôi có thể mất một chút thời gian và dù sao cũng cảm ơn bạn đã giúp tôi
Madhav avatar
lá cờ in
Và liên quan đến việc viết lại động urls.py.. trong máy chủ sản xuất, vâng, nó không được cập nhật, thay vì viết lại .... nhưng khi tôi lưu trữ nó bằng manage.py runserver, nó có vẻ hoạt động tốt và các tệp giống nhau được sử dụng trong cả sản xuất và phát triển
Michael Hampton avatar
lá cờ cz
Bạn có thể nhấp vào liên kết để tìm hiểu về ghi nhật ký. Các giá trị mặc định được hiển thị ở cuối trang. Nếu bạn không định cấu hình ghi nhật ký thì chúng sẽ được gửi đến thiết bị xuất chuẩn hoặc thiết bị xuất chuẩn và kết thúc trong nhật ký systemd (trừ khi bạn đã định cấu hình đơn vị dịch vụ systemd để chuyển hướng chúng).
Madhav avatar
lá cờ in
@MichaelHampton Tôi cũng nhận thấy rằng view.py không cập nhật và thứ duy nhất cập nhật đúng cách là tệp html và tệp tĩnh, hiện tôi đang làm việc với nhật ký. nhưng nghĩ rằng, tôi nên cho bạn biết quan sát này, trong trường hợp cld này cho bạn biết thêm về vấn đề của tôi
Madhav avatar
lá cờ in
MIchealllll Tôi đã giải quyết được...... hóa ra tôi cần khởi động lại gunicorn của mình bằng cách sử dụng `sudo systemctl restart gunicorn`, cảm ơn bạn rất nhiều vì đã cố gắng giúp tôi, đặc biệt là giới thiệu cho tôi nhật ký, tôi sẽ xem xét những điều đó
anx avatar
lá cờ fr
anx
Điểm thưởng khi viết câu hỏi thực sự trích dẫn vấn đề chính.. ***khởi động lại** [..] gunicorn sử dụng [..] **bắt đầu** [thay vì khởi động lại]*;)
Madhav avatar
lá cờ in
đánh giá cao sự ủng hộ!!
Điểm:1
lá cờ in

Ok vì vậy tôi tìm thấy giải pháp.

Các bước thực hiện để giải quyết nó:

  1. tôi đã cố gắng sử dụng python3 manage.py máy chủ trong trường hợp của tôi và phát hiện ra rằng các tệp đã được cập nhật tốt, do đó, vấn đề là do phía sản xuất

  2. Tôi phát hiện ra rằng chỉ các tệp tĩnh và html mới được cập nhật (nginx phục vụ những tệp đó), vì vậy vấn đề không nằm ở đó

  3. Tôi đang sử dụng gunicorn để trợ giúp với các tệp views.py và urls.py cũng như các tệp khác, vì vậy vấn đề có thể xảy ra với gunicorn

GIẢI PHÁP CUỐI CÙNG:

Vì vậy, tôi đã chạy lệnh Sudo systemctl khởi động lại gunicornvà mã hoạt động hoàn hảo

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.