Cách Thiết Lập Gunicorn để Phục Vụ Các ứng Dụng Web Python
Có thể bạn quan tâm
Trong bài viết này, chúng tôi sẽ thiết lập một VPS để phục vụ các ứng dụng web Python với Gunicorn và Nginx làm proxy ngược. Chúng tôi sử dụng Nginx làm proxy ngược thay vì phục vụ trực tiếp với Gunicorn để ngăn chặn các cuộc tấn công DoS vào Gunicorn. Sử dụng Nginx cũng mang lại hiệu suất tốt hơn (với bộ đệm proxy) và dẫn đến nhiều yêu cầu được xử lý hơn.
Bắt đầu
Hướng dẫn này giả định rằng bạn đã có VM với Ubuntu 14.04 hoặc mới hơn được cài đặt, cập nhật và bảo mật.
- Ví dụ Nginx của chúng tôi sẽ chạy trên cổng HTTP 80 (nhưng bạn có thể dễ dàng nâng cấp lên HTTPS).
- Ví dụ ứng dụng Python của chúng tôi sẽ lắng nghe trên cổng 8080. Cổng này sẽ được đóng trên iptables để ngăn truy cập từ xa.
- Hướng dẫn này sẽ chạy trên các bản phát hành khác với những thay đổi tối thiểu.
Cài đặt pip, virtualenv:
apt-get install python-pip python-virtualenvĐóng cổng 8080. Gunicorn sẽ chỉ có thể truy cập bằng Nginx.
iptables -A INPUT -p tcp --destination-port 8080 -j DROPTạo một thư mục mới và cấu hình ứng dụng của chúng tôi. Chúng tôi sẽ sử dụng khung Flask.
mkdir /var/www-folder/ cd /var/www-folder/ virtualenv exampleapp source exampleapp/bin/activate cd exampleapp pip install gunicorn pip install flaskTạo tập tin ứng dụng.
nano myapplication.pyDán bên trong sau:
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, Vultr!'Điều này sẽ tạo ra một trang đơn giản nói "Xin chào, Vultr!" khi ai đó truy cập trang. Bây giờ, bắt đầu Gunicorn. Thay thế xbằng 2 lần số lõi CPU VM của bạn.
gunicorn -w x myapplication:app &Cài đặt Nginx và cấu hình proxy ngược.
deactivate apt-get install nginx nano /etc/nginx/sites-enabled/defaultTìm kiếm location / {dòng và thay thế nội dung bên trong ngoặc bằng nội dung sau.
proxy_set_header HOST $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:8000/;Cấu hình này hướng dẫn Nginx chuyển tiếp một số thông tin (giao thức HTTP, địa chỉ IP từ xa) cùng với yêu cầu thực tế đến máy chủ Gunicorn. Tải lại Nginx.
service nginx reloadTại thời điểm này, ứng dụng Gunicorn của bạn đã được cấu hình đúng. Bạn có thể truy cập nó bằng trình duyệt web tại http://your-vps-ip/.
Từ khóa » Gunicorn Là Gì
-
6. Chạy ứng Dụng Flask Với Gunicorn Trên Ubuntu - Vimentor
-
Chi Tiết Bài Học 6. Chạy ứng Dụng Flask Với Gunicorn Trên Ubuntu
-
Gunicorn Là Gì? Reviews, Tính Năng, Bảng Giá, So Sánh
-
Cách Cung Cấp Các ứng Dụng Flask Với Gunicorn Và Nginx Trên ...
-
Gunicorn - Python WSGI HTTP Server For UNIX
-
Cách Cung Cấp Các ứng Dụng Flask Với Gunicorn Và Nginx Trên Ubuntu
-
Gunicorn - Tra Cứu Từ định Nghĩa Wikipedia Online
-
Python — Gunicorn Không Thể Tìm Thấy ứng Dụng Khi Tên được Thay ...
-
Triển Khai Django Với Gunicorn Và Nginx? - HelpEx
-
Cách Chính Xác để Chạy Gunicorn Là Gì?
-
Hỏi Deploy Django Lên Heroku - Viblo
-
Flask Có Gì Hay! - Nguyễn Khắc Thành
-
Lưu Trữ Django Với Nginx Và Gunicorn Trên Linux
-
Chạy Python Web App