部署Sanic的方法有很多种,可以通过内置的 webserver,也可以通过Gunicorn等。
内置webserver
定义sanic.Sanic实例后,我们可以使用下面的关键字参数调用run方法:
host(默认为127.0.0.1):服务器运行的主机地址;
port(默认为8000): 服务器监听的端口;
debug(默认为False):是否开启调试模式(会让服务器变慢);
ssl(默认为None):开启 SSL 加密;
sock(默认为None): 服务器可以介绍来自该 Socket 的连接;
workers(默认为1): 需要创建的工作进程的个数;
loop(默认为None):一个asyncio兼容的事件循环。如果为none,Sanic则创建自己的事件循环;
protocol(默认为HttpProtocol):asyncio.protocol的子类;
access_log(默认为True):开启请求处理的日志(显著降低server速度)。
工作进程(Wrokers)
默认情况下,Sanic仅使用一个CPU核心在主进程中进行侦听。 为了提高性能,只需指定运行参数中的工作器数量。
app.run(host='0.0.0.0', port=1337, workers=4)
Sanic将自动启动多个进程并在它们之间路由流量。 我们建议使用与可用内核数相同的工作进程数。</