Hướng dẫn tạo ứng dụng web Python đơn giản trên Google App Engine
Bài đăng này đã không được cập nhật trong 3 năm
Bài hướng dẫn này mình sử dụng microframework Flask làm web app. Những framework khác của Python như Django, Pyramid, Tornado ... có thể làm tương tự. Máy tính client để mình code chạy trên Ubuntu 16.04 cùng với Python 2.7.12.
Chuẩn bị
Trước khi chạy và deploy ứng dụng Python web, bạn cần phải chuẩn bị
-
Sử dụng Cloud Platform để tạo mới Cloud Platform project. Tạo mới một App Engine application và tất nhiên là enable billing tại: Consle Cloud Google
-
Cài đặt một số tool cần thiết:
Tạo web Flask đơn giản
Ở bài hưởng dẫn này, mình sẽ tạo một web đơn giản. Nó sẽ in ra dòng Hello Word
Đầu tiên, tạo một thư mục project hello_world
. Trong thư mực project, ta sẽ tạo lần lượt các file:
- main.py: chạy web
- requirements.txt: quản lý lib python
- app.yaml: cấu hình deploy và chạy code trên Google App Engine
Tạo một file main.py
có nội dung như sau:
import logging
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
"""Return a friendly HTTP greeting."""
return 'Hello World!'
@app.errorhandler(500)
def server_error(e):
logging.exception('An error occurred during a request.')
return """
An internal error occurred: <pre>{}</pre>
See logs for full stacktrace.
""".format(e), 500
if __name__ == '__main__':
# This is used when running locally. Gunicorn is used to run the
# application on Google App Engine. See entrypoint in app.yaml.
app.run(host='127.0.0.1', port=8080, debug=True)
Tạo một file requirements.txt
để quản lý các gói
Flask==0.12.2
gunicorn==19.7.1
Tiếp theo, bạn chạy thử ứng dụng:
- Nếu bạn không có
virtualenv
bạn có thể cài đặt chúng qua pip
sudo pip install virtualenv
- Tạo môi trường cô lập và cài đặt các gói cần thiết
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
- Chạy thử
python main.py
- Trên trình duyệt, gõ địa chỉ:
http://localhost:8080
Deploy
Trước khi deploy, bạn cần tạo một file app.yaml
để cấu hình việc deploy
runtime: python
env: flex
entrypoint: gunicorn -b :$PORT main:app
runtime_config:
python_version: 2
Điểm chú ý ở đây là env: flex
. flex
là tên môi trường mà web app sẽ chạy trên đó. Thông tin cụ thể bạn có thể vào đây: https://cloud.google.com/appengine/docs/flexible/
OK. Tiếp theo là việc deploy.
cd
tới thư mục projecthello_world
. Sau đó, gõ lệnh deploy:
gcloud app deploy
Sau khi bạn cài đặt xong Google Cloud SDK bạn có thể sử dụng CLI gcloud
để thực hiện deloy app
- Trên browser bạn có thể xem kết quả của bạn tại
http://YOUR_PROJECT_ID.appspot.com
. Hoặc có thể sử dụnggcloud
:
gcloud app browse
Đã hoàn thành!!
Điểm mấu chốt của bài hướng dẫn
- Tạo được project trên Goold App Engine
- Cài được CLI
gcloud
tools - Có một web app Python: tất nhiên rồi
- Chú ý cấu hình trên
app.yaml
file.
Chúc bạn thành công !!!
All rights reserved