Điểm:0

Lỗi 502: Triển khai ứng dụng Django với Gunicorn và Nginx

lá cờ ar

Tôi đã phát triển một ứng dụng web với Django và tôi đang cố xuất bản ứng dụng đó trong một máy ảo được tạo bằng Azure. Để làm điều đó, tôi đang sử dụng ngăn xếp phần mềm sau:

  • Ubuntu (20.04)
  • Django (3.0.7)
  • Virtualenv (20.0.17)
  • Gunicorn (20.1.0)
  • Nginx (1.18.0)

Để triển khai ứng dụng, tôi đã làm theo hướng dẫn đó: https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04

Các thư mục dự án django của tôi được tổ chức như sau:

Trang Chủ/
ââ useradmin/
â ââ myproject/
â â ââ dự án/
â â â ââ settings.py
â â â ââ urls.py
â â â ââ wsgi.py
â â â ââ...
â â ââ tĩnh/
â â ââ mẫu/
â â ââ venv/
â â ââ manage.py
â â ââ ...

Đây là của tôi /etc/systemd/system/gunicorn.service:

[Đơn vị]
Mô tả = daemon gunicorn
Sau=mạng.mục tiêu

[Dịch vụ]
Người dùng = quản trị viên người dùng
Nhóm=www-dữ liệu
WorkingDirectory=/home/useradmin/myproject
ExecStart=/home/useradmin/myproject/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/useradmin/myproject/myproject.sock proj.wsgi:application
[Cài đặt]
WantedBy=multi-user.target

Đây là của tôi /etc/nginx/sites-available/myproject:

người phục vụ {
    nghe 80;
    server_name mydomain.com;

    vị trí = /favicon.ico { truy cập_đăng xuất; log_not_found tắt; }
    vị trí /tĩnh/ {
        gốc /home/useradmin/myproject;
    }

    địa điểm / {
        bao gồm proxy_params;
        proxy_pass http://unix:/home/useradmin/myproject/myproject.sock;
    }
}

Khi tôi điều hướng đến mydomain.com, tôi gặp lỗi 502 Bad Gateway. Nếu tôi kiểm tra nhật ký Nginx bằng cách chạy "sudo tail -F /var/log/nginx/error.log", tôi thấy lỗi sau:

2022/03/16 08:27:33 [crit] 64480#64480: *3 connect() to unix:/home/useradmin/myproject/myproject.sock không thành công (2: Không có tệp hoặc thư mục như vậy) trong khi kết nối với thượng nguồn, máy khách: XX.XX.XX.XX, máy chủ: mydomain.com, yêu cầu: "GET / HTTP/1.1", ngược dòng: "http://unix:/home/useradmin/myproject/myproject.sock:/", máy chủ lưu trữ : "mydomain.com"

Để tạo tệp sock, tôi chạy các hướng dẫn sau nhưng không có gì thay đổi:

systemctl daemon-tải lại
systemctl khởi động lại gunicorn.service

CẬP NHẬT 1:

Đang cố gắng thực hiện hướng dẫn ls -la /home/useradmin/myproject/myproject.sock tôi nhận được lỗi ls: không thể truy cập '/home/useradmin/myproject/myproject.sock': Không có tệp hoặc thư mục như vậy

djdomi avatar
lá cờ za
`ls -la /home/useradmin/myproject/myproject.sock` hiển thị gì? và afaik nó có thể là một vấn đề dễ dàng hơn - vui lòng thử http://unix:/home/useradmin/myproject/myproject.sock: ;
El_Merendero avatar
lá cờ ar
Nó trả về `ls: không thể truy cập '/home/useradmin/myproject/myproject.sock': Không có tệp hoặc thư mục như vậy`
djdomi avatar
lá cờ za
sửa dịch vụ kỳ lân của bạn ở lần đầu tiên và lần thứ hai, vui lòng không đăng nhận xét về thông tin của bạn, hãy chỉnh sửa câu hỏi và thêm thông tin vào đó
El_Merendero avatar
lá cờ ar
Ok rất cảm ơn, tôi đang chỉnh sửa câu hỏi. Làm cách nào để khắc phục dịch vụ kỳ lân?
djdomi avatar
lá cờ za
```ExecStart='/home/useradmin/myproject/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/useradmin/myproject/myproject.sock proj.wsgi:application' ` `` có thể là vấn đề... VÌ nó cho biết ``` gunicorn: lỗi: đối số -b/--bind: dự kiến ​​một đối số ``` và bạn cung cấp 2 đối số chứ không phải một đối số. Và một Biểu tượng trừ mà tôi không hiểu nó phải là gì

Đă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.