cherrypy._cpserver模块

使用CherryPy管理HTTP服务器。

class cherrypy._cpserver.Server[源代码]

基类:cherrypy.process.servers.ServerAdapter

HTTP服务器的适配器。

您可以将属性(如SOCKET_HOST和SOCKET_PORT)设置为ON this 对象(可能是cherrypy.server),并调用快速入门。例如::

cherrypy.server.socket_port = 80
cherrypy.quickstart()
_socket_host = '127.0.0.1'
accepted_queue_size = -1

在服务器拒绝接受之前将排队的最大请求数(默认值-1,表示没有限制)。

accepted_queue_timeout = 10

队列已满时尝试将请求添加到队列的超时时间(默认值为10)。

base()[源代码]

返回此服务器的基数。

也就是。方案://host [:端口] 或SOCK文件

property bind_addr

返回绑定地址。

TCP套接字的(主机、端口)元组或Unix域套接字的字符串。

httpserver_from_self(httpserver=None)[源代码]

根据自身属性返回(httpserver,bind_addr)对。

instance = None

如果不是无,则这应该是cherrypy.server将控制的HTTP服务器实例(如cheroot.wsgi.Server)。当您需要比各种配置选项中提供的控制更多的对象实例化控制时,请使用此选项。

max_request_body_size = 104857600

请求正文中允许的最大字节数。如果超过,HTTP服务器应返回“413请求实体太大”。

max_request_header_size = 512000

请求标头中允许的最大字节数。如果超过,HTTP服务器应返回“413请求实体太大”。

nodelay = True

如果为True(3.1以后的默认值),则设置TCP_NODELAY套接字选项。

peercreds = False

如果为True,则UNIX域套接字的对等凭据查找将放入WSGI环境。

然后可以通过WSGI env vars获得此信息: * X_REMOTE_PID * X_Remote_UID*X_Remote_GID

peercreds_resolve = False

如果为True,将在操作系统中从对等凭据中查找用户名/组。

然后可以通过WSGI env vars获得此信息: * REMOTE_USER * X_Remote_User*X_Remote_GROUP

protocol_version = 'HTTP/1.1'

要写入所有HTTP响应的状态行中的版本字符串,例如,“HTTP/1.1”(默认值)。根据使用的HTTP服务器,这还应该限制响应中使用的受支持功能。

shutdown_timeout = 5

等待HTTP工作线程清理的时间。

socket_file = None

如果给定,则为要使用的UNIX套接字的名称,而不是TCP/IP。

当此选项不是NONE时, socket_hostsocket_port 选项将被忽略。

property socket_host

要在其上侦听连接的主机名或IP地址。

主机值可以是任何IPv4或IPv6地址,也可以是任何有效的主机名。字符串‘localhost’是‘127.0.0.1’的同义词(如果您的主机文件首选IPv6,则为‘::1’)。字符串‘0.0.0.0’是一个特殊的IPv4条目,意思是“任何活动接口”(INADDR_ANY),而‘::’是类似于IPv6的IN6ADDR_ANY。不允许使用空字符串或无。

socket_port = 8080

要在其上侦听连接的TCP端口。

socket_queue_size = 5

socket.listen()的‘backlog’参数指定排队连接的最大数量(默认值为5)。

socket_timeout = 10

接受的连接的超时时间(以秒为单位)(默认值为10)。

ssl_certificate = None

要使用的SSL证书的文件名。

ssl_certificate_chain = None

使用PyOpenSSL时,要传递给Context.load_Verify_Locations的证书链。

ssl_ciphers = None

SSL的密码列表。

ssl_context = None

使用PyOpenSSL时,SSL.Context的实例。

ssl_module = 'builtin'

要与内置WSGI服务器一起使用的已注册SSL适配模块的名称。内置选项有:‘builtin’(使用最新版本的Python内置的SSL库)。您还可以在cheroot.server.ssl_Adapters判定中注册您自己的类。

ssl_private_key = None

要与SSL一起使用的私钥的文件名。

start()[源代码]

启动HTTP服务器。

statistics = False

打开或关闭感知HTTP服务器的统计信息收集。

thread_pool = 10

池中要启动的工作线程数。

thread_pool_max = -1

工作线程池的最大大小。使用-1表示没有限制。

wsgi_version = (1, 0)

用于内置WSGI服务器的WSGI版本元组。提供的选项为(1,0) [它包括对PEP3333的支持,PEP3333声明它包含WSGI版本1.0.1,但仍然要求使用wsgi.version(1,0)] 和(‘u’,0),这是一个实验性的Unicode版本。您可以通过向cheroot.server.wsgi_gateways判定添加自定义类来创建和注册您自己的WSGI协议实验版本。