2015-05-31 43 views
20

Tôi đang cố gắng chạy một máy chủ web đơn giản trên Raspberry Pi với Flask. Khi tôi chạy ứng dụng Flask của tôi, nó nói:Không thể kết nối với dịch vụ web Flask, kết nối bị từ chối

chạy trên http://127.0.0.1:5000/

Nhưng khi tôi nhập địa chỉ này trên máy tính xách tay của tôi trong Chrome, tôi nhận được

ERR_CONNECTION_REFUSED

Tôi có thể mở 127.0.0.1 charm000 trên trình duyệt của Raspberry Pi. Tôi cần làm gì để kết nối từ một máy tính khác?

+1

127.0.0.1 là địa chỉ localhost và sẽ chỉ có thể truy cập từ raspi. Để có được quyền truy cập từ máy tính xách tay của bạn mở terminal trên raspi của bạn và thử thay vào đó ip từ 'ifconfig' sẽ trông giống như 192.168.0.XX: 5000. Điều này giả định rằng cả hai đều trên cùng một mạng cục bộ. – jmunsch

+0

@jm_____ 'ifconfig' trả lại 192.168.1.103, tôi đã thử nó với': 5000' nhưng vẫn nhận được kết nối bị từ chối. và có cả hai đều trên cùng một mạng – Yashar

Trả lời

49

Chạy ứng dụng của bạn như thế này:

if __name__ == '__main__': 
    app.run(host='0.0.0.0') 

Nó sẽ làm cho máy chủ externally visible. Nếu địa chỉ IP của máy là 192.168.X.X thì, từ cùng một mạng, bạn có thể truy cập địa chỉ đó trong cổng 5000. Giống như, http://192.168.X.X:5000

+0

Câu trả lời tốt hơn cho đoạn mã bình (y) –

3

Bạn sẽ phải chạy máy chủ phát triển như vậy mà nó lắng nghe các yêu cầu trên tất cả các giao diện và không chỉ là địa phương một

Hỏi Flask để lắng nghe trên 0.0.0.0:PORT_NUMBER

hoặc bất kỳ cổng khác mà bạn có thể chọn

2

khi bạn đang chạy máy chủ qua flask run thay đổi thành flask run --host=0.0.0.0 để kết nối, tìm địa chỉ IPV4 của máy chủ mà tập lệnh của bạn đang chạy. Trên cùng một mạng, đi đến http://[IPV4 address]:5000

3

Một lý do cũng có thể là trong tường lửa từ chối kết nối đến trên cổng 5000. Hãy thử:

sudo ufw allow 5000 
Các vấn đề liên quan