Cách triển khai ứng dụng Flask trên VPS Ubuntu
Đánh dấu có nghĩa là gì
Các dòng mà nhu cầu user nhập vào hoặc tùy chỉnh sẽ được highlighed trong hướng dẫn này! Phần còn lại chủ yếu phải là copy-and-paste.
Giới thiệu
Flask là một micro-framework được viết bằng Python và dựa trên công cụ mẫu Werkzeug và Jinja2 để phát triển các ứng dụng web. Nó được thiết kế để phát triển các ứng dụng web một cách nhanh chóng.
Cài đặt
Bạn cần phải cài đặt Apache và chạy trên VPS của bạn . Nếu không phải như vậy, hãy làm theo Bước Một trong bài viết của ta về cách cài đặt LAMP trên Ubuntu .
Bước một— Cài đặt và bật mod_wsgi
WSGI (Web Server Gateway Interface) là giao diện giữa web server và ứng dụng web dành cho python. Mod_wsgi là một mod server Apache HTTP cho phép Apache phục vụ các ứng dụng Flask.
Mở terminal và gõ lệnh sau để cài đặt mod_wsgi:
sudo apt-get install libapache2-mod-wsgi python-dev
Để bật mod_wsgi, hãy chạy lệnh sau:
sudo a2enmod wsgi
Bước hai - Tạo ứng dụng Flask
Trong bước này, ta sẽ tạo một ứng dụng flask . Ta sẽ đặt ứng dụng của bạn trong folder / var / www .
Sử dụng lệnh sau để di chuyển đến folder / var / www:
cd /var/www
Tạo cấu trúc folder ứng dụng bằng mkdir như hình. Thay thế "FlaskApp" bằng tên bạn muốn đặt cho ứng dụng của bạn . Tạo folder ban đầu FlaskApp bằng cách đưa ra lệnh sau:
sudo mkdir FlaskApp
Di chuyển bên trong folder này bằng lệnh sau:
cd FlaskApp
Tạo một folder FlaskApp khác bằng cách đưa ra lệnh sau:
sudo mkdir FlaskApp
Sau đó, di chuyển bên trong folder này và tạo hai folder con có tên tĩnh và mẫu bằng các lệnh sau:
cd FlaskApp
sudo mkdir static templates
Cấu trúc folder của bạn bây giờ sẽ giống như sau:
|----FlaskApp |---------FlaskApp |--------------static |--------------templates
Bây giờ, hãy tạo file __init__.py sẽ chứa logic ứng dụng flask .
sudo nano __init__.py
Thêm logic sau vào file :
from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello, I love Digital Ocean!" if __name__ == "__main__": app.run()
Lưu và đóng file .
Bước 3 - Cài đặt bình
Cài đặt một môi trường ảo sẽ giữ cho ứng dụng và các phần phụ thuộc của nó bị cô lập khỏi hệ thống chính. Các thay đổi đối với nó sẽ không ảnh hưởng đến cấu hình hệ thống của server cloud .
Trong bước này, ta sẽ tạo một môi trường ảo cho ứng dụng flask của ta .
Ta sẽ sử dụng pip để cài đặt virtualenv và Flask . Nếu pip chưa được cài đặt, hãy cài đặt nó trên Ubuntu thông qua apt-get.
sudo apt-get install python-pip
Nếu virtualenv chưa được cài đặt, hãy sử dụng pip để cài đặt nó bằng lệnh sau:
sudo pip install virtualenv
Đưa ra lệnh sau (trong đó venv là tên bạn muốn đặt cho môi trường tạm thời của bạn ):
sudo virtualenv venv
Bây giờ, cài đặt Flask trong môi trường đó bằng cách kích hoạt môi trường ảo bằng lệnh sau:
source venv/bin/activate
Cung cấp lệnh này để cài đặt Flask bên trong:
sudo pip install Flask
Tiếp theo, chạy lệnh sau để kiểm tra xem cài đặt có thành công và ứng dụng đang chạy hay không:
sudo python __init__.py
Nó sẽ hiển thị “Đang chạy trên http: // localhost: 5000 /” hoặc "Đang chạy trên http://127.0.0.1:5000/". Nếu bạn thấy thông báo này, bạn đã cấu hình ứng dụng thành công.
Để hủy kích hoạt môi trường, hãy đưa ra lệnh sau:
deactivate
Bước 4 - Cấu hình và kích hoạt server ảo mới
Đưa ra lệnh sau trong terminal của bạn:
sudo nano /etc/apache2/sites-available/FlaskApp
LƯU Ý: Các version Ubuntu (13.10+) mới hơn yêu cầu phần mở rộng ".conf" cho các file VirtualHost - hãy chạy lệnh sau để thay thế:
sudo nano /etc/apache2/sites-available/FlaskApp.conf
Thêm các dòng mã sau vào file để cấu hình server ảo. Đảm bảo thay đổi Tên server thành domain của bạn hoặc địa chỉ IP của server cloud :
<VirtualHost *:80> ServerName mywebsite.com ServerAdmin admin@mywebsite.com WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi <Directory /var/www/FlaskApp/FlaskApp/> Order allow,deny Allow from all </Directory> Alias /static /var/www/FlaskApp/FlaskApp/static <Directory /var/www/FlaskApp/FlaskApp/static/> Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Lưu và đóng file .
Bật server ảo bằng lệnh sau:
sudo a2ensite FlaskApp
Bước 5 - Tạo file .wsgi
Apache sử dụng file .wsgi để cung cấp ứng dụng Flask. Di chuyển đến folder / var / www / FlaskApp và tạo một file có tên flaskapp .wsgi bằng các lệnh sau:
cd /var/www/FlaskApp sudo nano flaskapp.wsgi
Thêm các dòng mã sau vào file flaskapp .wsgi:
#!/usr/bin/python import sys import logging logging.basicConfig(stream=sys.stderr) sys.path.insert(0,"/var/www/FlaskApp/") from FlaskApp import app as application application.secret_key = 'Add your secret key'
Bây giờ cấu trúc folder của bạn sẽ giống như sau:
|--------FlaskApp |----------------FlaskApp |-----------------------static |-----------------------templates |-----------------------venv |-----------------------__init__.py |----------------flaskapp.wsgi
Bước 6 - Khởi động lại Apache
Khởi động lại Apache bằng lệnh sau để áp dụng các thay đổi:
sudo service apache2 restart
Bạn có thể thấy một thông báo tương tự như sau:
Could not reliably determine the VPS's fully qualified domain name, using 127.0.0.1 for ServerName
Thông báo này chỉ là một cảnh báo và bạn có thể truy cập server ảo của bạn mà không gặp sự cố nào khác. Để xem ứng dụng của bạn, hãy mở trình duyệt của bạn và chuyển đến domain hoặc địa chỉ IP mà bạn đã nhập trong cấu hình server ảo của bạn .
Bạn đã triển khai thành công một ứng dụng flask .
Các tin liên quan
Cách cài đặt và sử dụng màn hình trên server cloud Ubuntu2013-07-01
Cách thiết lập firewall với UFW trên server cloud Ubuntu và Debian
2013-06-25
Cách cài đặt Gerrit trên Ubuntu Cloud Server
2013-06-18
Cách cài đặt diễn đàn Vanilla trên Ubuntu 12.10
2013-06-14
Cách giới hạn mức sử dụng CPU trên Ubuntu 12.10
2013-06-08
Cách cài đặt diễn đàn phpBB® trên Ubuntu 12.10
2013-06-06
Cách cài đặt Simple Machines® trên Ubuntu 12.10
2013-06-06
Cách thiết lập Red5 trên Ubuntu 12.10
2013-05-31
Cách thiết lập Tiki Wiki trên Ubuntu 12.10
2013-05-31
Cách cài đặt Webmin trên Ubuntu Cloud Server
2013-05-07