/* This is a JSON format configuration file */ { /* //ssl:The global ssl files setting "ssl": { "cert": "../../trantor/trantor/tests/server.pem", "key": "../../trantor/trantor/tests/server.pem" }, "listeners": [ { //address: Ip address,0.0.0.0 by default "address": "0.0.0.0", //port: Port number "port": 80, //https: If true, use https for security,false by default "https": false }, { "address": "0.0.0.0", "port": 443, "https": true, //cert,key: Cert file path and key file path, empty by default, //if empty, use the global setting "cert": "", "key": "" } ], "db_clients": [ { //name: Name of the client,'default' by default //"name":"", //rdbms: Server type, postgresql,mysql or sqlite3, "postgresql" by default "rdbms": "postgresql", //filename: Sqlite3 db file name //"filename":"", //host: Server address,localhost by default "host": "127.0.0.1", //port: Server port, 5432 by default "port": 5432, //dbname: Database name "dbname": "test", //user: 'postgres' by default "user": "", //passwd: '' by default "passwd": "", //is_fast: false by default, if it is true, the client is faster but user can't call //any synchronous interface of it. "is_fast": false, //connection_number: 1 by default, valid only if is_fast is false. "connection_number": 1 } ],*/ "app": { //threads_num: The number of IO threads, 1 by default, if the value is set to 0, the number of threads //is the number of CPU cores "threads_num": 1, //enable_session: False by default "enable_session": true, "session_timeout": 0, //document_root: Root path of HTTP document, defaut path is ./ "document_root": "./", //upload_path: The path to save the uploaded file. "uploads" by default. //If the path isn't prefixed with /, ./ or ../, //it is relative path of document_root path "upload_path": "uploads", /* file_types: * HTTP download file types,The file types supported by drogon * by default are "html", "js", "css", "xml", "xsl", "txt", "svg", * "ttf", "otf", "woff2", "woff" , "eot", "png", "jpg", "jpeg", * "gif", "bmp", "ico", "icns", etc. */ "file_types": [ "gif", "png", "jpg", "js", "css", "html", "ico", "swf", "xap", "apk", "cur", "xml" ], //max_connections: Max connections number,100000 by default "max_connections": 100000, //max_connections_per_ip: Max connections number per clinet,0 by default which means no limit "max_connections_per_ip": 0, //Load_dynamic_views: False by default, when set to true, drogon //compiles and loads dynamically "CSP View Files" in directories defined //by "dynamic_views_path" "load_dynamic_views": false, //dynamic_views_path: If the path isn't prefixed with /, ./ or ../, //it is relative path of document_root path "dynamic_views_path": [ "./views" ], //log: Set log output, drogon output logs to stdout by default "log": { //log_path: Log file path,empty by default,in which case,logs are output to the stdout //"log_path": "./", //logfile_base_name: Log file base name,empty by default which means drogon names logfile as //drogon.log ... "logfile_base_name": "", //log_size_limit: 100000000 bytes by default, //When the log file size reaches "log_size_limit", the log file is switched. "log_size_limit": 100000000, //log_level: "DEBUG" by default,options:"TRACE","DEBUG","INFO","WARN" //The TRACE level is only valid when built in DEBUG mode. "log_level": "DEBUG" }, //run_as_daemon: False by default "run_as_daemon": false, //relaunch_on_error: False by default, if true, the program will be restart by the parent after exiting; "relaunch_on_error": false, //use_sendfile: True by default, if ture, the program //uses sendfile() system-call to send static files to clients; "use_sendfile": true, //use_gzip: True by default, use gzip to compress the response body's content; "use_gzip": true, //static_files_cache_time: 5 (seconds) by default, the time in which the static file response is cached, //0 means cache forever, the negative value means no cache "static_files_cache_time": 5, //simple_controllers_map: Used to configure mapping from path to simple controller "simple_controllers_map": [{ "path": "/path/name", "controller": "controllerClassName", "http_methods": [ "get", "post" ], "filters": [ "FilterClassName" ] }], //idle_connection_timeout: Defaults to 60 seconds, the lifetime //of the connection without read or write "idle_connection_timeout": 60, //server_header_field: Set the 'server' header field in each response sent by drogon, //empty string by default with which the 'server' header field is set to "Server: drogon/version string\r\n" "server_header_field": "", //keepalive_requests: Set the maximum number of requests that can be served through one keep-alive connection. //After the maximum number of requests are made, the connection is closed. //The default value of 0 means no limit. "keepalive_requests": 0, //pipelining_requests: Set the maximum number of unhandled requests that can be cached in pipelining buffer. //After the maximum number of requests are made, the connection is closed. //The default value of 0 means no limit. "pipelining_requests": 0, //gzip_static: If it is set to true, when the client requests a static file, drogon first finds the compressed //file with the extension ".gz" in the same path and send the compressed file to the client. //The default value of gzip_static is true. "gzip_static": true, //client_max_body_size: Set the max body size of HTTP requests received by drogon. The default value is "1M". //One can set it to "1024", "1k", "10M", "1G", etc. Setting it to "" means no limit. "client_max_body_size": "1M", //client_max_websocket_message_size: Set the max size of messages sent by WebSocket client. The default value is "128K". //One can set it to "1024", "1k", "10M", "1G", etc. Setting it to "" means no limit. "client_max_websocket_message_size": "128K" }, //plugins: Define all plugins running in the application "plugins": [{ //name: The class name of the plugin //"name": "TestPlugin", //dependencies: Plugins that the plugin depends on. It can be commented out "dependencies": [], //config: The configuration of the plugin. This json object is the parameter to initialize the plugin. //It can be commented out "config": { "heartbeat_interval": 2 } }], //custom_config: custom configuration for users. This object can be get by the app().getCustomConfig() method. "custom_config": {} }