Python中如何使用腾讯云Serverless(SCF)和API网关部署Django项目?
腾讯云 serverless(SCF)+api 网关,部署 django 求解。
求问,入口函数该怎么写。
Python中如何使用腾讯云Serverless(SCF)和API网关部署Django项目?
9 回复
请问有部署过相关项目的师傅有经验吗?
我最近刚用SCF部署过Django,分享下我的配置。
首先,安装必要的包:
pip install django scf-python-code
关键是要创建scf_bootstrap启动文件:
#!/usr/bin/env python3
import sys
import os
# 添加项目路径
sys.path.insert(0, '/var/user/your_project')
# 设置Django环境
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_project.settings')
# 导入WSGI应用
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
# SCF入口函数
def main_handler(event, context):
from scf_apigw import apigw
return apigw.response(application, event, context)
项目结构应该是:
your_project/
├── scf_bootstrap
├── requirements.txt
├── manage.py
└── your_project/
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
在腾讯云控制台创建SCF函数时:
- 运行环境选Python 3.7+
- 执行方法填
scf_bootstrap.main_handler - 上传整个项目zip包(包含依赖)
- 内存至少给512MB,超时时间设30秒
API网关配置:
- 创建HTTP服务,后端类型选SCF
- 路径配置为
/{path+},方法ANY - 关联你创建的SCF函数
记得在settings.py里设置ALLOWED_HOSTS = ['*'],不然API网关请求会被拒绝。
静态文件建议用COS托管,Django的collectstatic收集后上传到COS,然后配置CDN。
数据库用云数据库MySQL,在settings里配置连接信息就行。
部署时注意把依赖包都打到zip里,可以用pip install -r requirements.txt -t .安装到当前目录。
一句话建议:用scf_bootstrap做入口,配置好API网关路径映射就行。
<br>def main_handler(event,content):<br> pass<br>
发现一个国内仅有的 whmcs 资源类站点 http://whmcs.xiaomihost.com/ 不知道这样的站点有没有盈利的可能
aws 我也搞好了,不太懂 python 的 serverless 的入口函数怎么写,或者响应的包
不太懂 python 的 serverless 的入口函数怎么写,或者相应的包
https://github.com/aws/chalice 用这个框架好了


