# Monkey HTTP Server - Configuration # ================================== # These are the main variables and their descriptions, defined in respect # to the configuration of the different types of directives. [SERVER] # Listen: # ------- # The Listen directive maps the port and optionally restricts the # network interface from where Monkey will be listens for incoming # connections. Multiple Listen directives are allowed. # # The Listen directive requires a port number, preceded by an # optional IPv4 or IPv6 address separated by a colon (:). # IPv6 addresses must be enclosed in brackets ([]), e.g: # # Listen 127.0.0.1:2001 # Listen [::1]:2001 Listen @MK_CONF_LISTEN@ # Workers: # -------- # Monkey launches threads to attend clients; each worker thread is capable # of attending more than one client request at one time. The amount of # clients that can be handled by each thread is calculated using the # number of file descriptors allowed by the system. If this variable # is set to 0 monkey will launch one thread per processor. Workers @MK_CONF_WORKERS@ # Timeout: # -------- # The largest span of time, expressed in seconds, during which you should # wait to receive the information or waiting time for the remote host to # accept an answer. (Timeout > 0) Timeout @MK_CONF_TIMEOUT@ # PidFile: # -------- # File where the server guards the process number when starting. PidFile @MK_PATH_PIDPATH@/@MK_PIDFILE@ # UserDir: # -------- # Directory name for users home (~/user). UserDir @MK_CONF_USERDIR@ # Indexfile: # ---------- # Number of the initial file of aperture when calling a directory. Indexfile @MK_CONF_INDEXFILE@ # HideVersion: # ------------ # For security reasons, sometimes people want to hide the version of his # own webserver to clients (values on/off). HideVersion @MK_CONF_HIDEVERSION@ # Resume: # ------- # Allow clients to request files by ranges (values on/off). Resume @MK_CONF_RESUME@ # User: # ----- # If you want the webserver to run as a process of a defined user, you can # define it in this variable. For the change of user to work, it's necessary # to execute Monkey with root privileges. If it's started by a user that # that doesn't have root privileges, this variable will be omitted. User @MK_CONF_USER@ # ----------------- # ADVANCED CONFIG # ----------------- # Just change the next variables if you know what are you doing. # KeepAlive: # ---------- # Allow persistent connections. (on/off) KeepAlive @MK_CONF_KA@ # KeepAliveTimeout # ---------------- # Number of seconds to wait for the next request in a persistent # connection (value > 0). KeepAliveTimeout @MK_CONF_KA_TIMEOUT@ # MaxKeepAliveRequest: # -------------------- # Maximum number of requests per connection. (value > 0) MaxKeepAliveRequest @MK_CONF_KA_MAXREQ@ # MaxRequestSize: # --------------- # When a request arrives, Monkey allocs a 'chunk' of memory space # to receive the incoming data. As many times the incoming data # size is undeterminated, Monkey increases the buffer as required. This # variable defines the maximum size that the buffer can grow in terms # of KB. Example: defining 'MaxRequestSize 32' means 32 Kilobytes. # The value defined must be greater than zero. Default value defined # is 32. MaxRequestSize @MK_CONF_REQ_SIZE@ # SymLink: # -------- # Allow request to symbolic link files. SymLink @MK_CONF_SYMLINK@ # DefaultMimeType: # ---------------- # If a static content is requested and it does not contain a known extension, # Monkey will send the mime type specified on this directive. DefaultMimeType @MK_CONF_DEFAULT_MIME@ # FDT: # ---- # The File Descriptor Table (FDT) it's an internal mechanism to share open # file descriptors under specific threads and virtual host context. When # enabled, it helps to reduce the number of opened file descriptors for the # same resource and the number of required system calls to open and close # files. # # The overhead in memory of this feature is around ~5KB per worker. FDT @MK_CONF_FDT@ # OverCapacity: # ------------- # When the server is over capacity at networking level, is required to # prepare a contingency plan. The OverCapacity feature allows to define # the behavior under this situation. Monkey defines three options: # # Drop : just drop any new incoming connection. # Resist : try to serve all request, even some of them may delay. # TooBusy: report a 503 Service Unavailable HTTP status. # # The default behavior is 'Resist'. OverCapacity @MK_CONF_OVERCAPACITY@ # FDLimit: # -------- # Defines the maximum number of file descriptors that the server # can use, it can be translated to the maximum number of connections. # If the value is not set, Monkey will use the soft limit imposed to # the process (ulimit -n). # # If the variable is set, Monkey will try to increase or decrease # the limit under it restrictions. For values higher that Hard Limit # Monkey needs to be started by root user. # # FDLimit 4096