# conf for yaws # First we have a set of globals that apply to all virtual servers # This is the directory where all logfiles for # all virtual servers will be written. logdir = /var/log/yaws # These are the paths to directories where additional # beam code can be placed. The daemon will add these # directories to its search path. ebin_dir = /usr/lib/yaws/examples/ebin ebin_dir = /var/yaws/ebin # This is a directory where application specific .hrl # files can be placed. Application-specific .yaws code can # then include these .hrl files. include_dir = /usr/lib/yaws/examples/include # Set this to an integer value to control # max number of connections from clients into the server. max_connections = nolimit # Normally, yaws does not restrict the number of times a connection is # kept alive using keepalive. Setting this parameter to an integer X # will ensure that connections are closed once they have been used X times. # This can be a useful to guard against long running connections # collecting too much garbage in the Erlang VM. keepalive_maxuses = nolimit # Override the garbage collection option parameters for processes # that handle new connections. Useful for systems expecting long-lived # connections that handle a lot of data. The default value is Erlang's # default. Valid options are {fullsweep_after, X} and/or {min_heap_size, Y} where # X and Y are integers. See Erlang's erlang:spawn_opt/4 function for more # details. The value type is a quoted string containing an Erlang proplist or # the atom undefined. process_options = "[]" # Set the size of the cached acceptor process pool. The value must be an # integer greater than or equal to 0. The default pool size is 8. Setting # the pool size to 0 effectively disables the pool. #acceptor_pool_size = 8 # This is a debug variable, possible values are http | traffic | false # It is also possible to set the trace (possibly to the tty) while # invoking yaws from the shell as in # yaws -i -T -x (see man yaws). trace = false # Enable this if we want to use the old OTP ssl implementation # OTP R13B03 is known to work with this flag set to false (default). use_old_ssl = false # It is possible to have yaws start additional application-specific code at # startup. Set runmod to the name of the module you want yaws to start. It # assumes the module has an exported function start/0. To have multiple # runmods just add more "runmod = xyz" lines. # # runmod = mymodule # By default yaws will copy the erlang error_log and # append it to a wrap log called report.log (in the logdir). # This feature can be turned off. This would typically # be the case when yaws runs within another larger app. copy_error_log = true # Logs are wrap logs log_wrap_size = 1000000 # Possibly resolve all hostnames in logfiles so webalizer # can produce the nice geography piechart log_resolve_hostname = false # Fail completely or not if yaws fails to bind a listen socket. fail_on_bind_err = true # If HTTP auth is used, it is possible to have a specific # auth log. As of release 1.90 the global auth_log is # deprecated and ignored. Now, this variable must be set in # server part #auth_log = true # When we're running multiple yaws systems on the same # host, we need to give each yaws system an individual # name. Yaws will write a number of runtime files under # ${HOME}/.yaws/yaws/${id} # The default value is "default" # If we're not planning to run multiple webservers on the # same host it's much better to leave this value unset since # then all the ctl function (--stop et.el) work without having # to supply the id. # # id = myname # Earlier versions of Yaws picked the first virtual host # in a list of hosts with the same IP/PORT when the Host: # header doesn't match any name on any Host. # This is often nice in testing environments but not # acceptable in real-world hosting scenarios; # think http://porn.bigcompany.com pick_first_virthost_on_nomatch = true # If the HTTP client session is to be kept alive, wait this many # milliseconds for a new request before timing out the connection. Note # that infinity is a valid value but it's not recommended. keepalive_timeout = 30000 # Now, a set of virtual servers. # The examples below first show two virthosted servers on the same IP (0.0.0.0) # in this case, but an explicit IP can be given as well. # # port = 80 # listen = 0.0.0.0 # docroot = /var/yaws/www # auth_log = true # appmods = # port = 80 listen = 0.0.0.0 docroot = /tmp dir_listings = true auth_log = true statistics = true realm = foobar dir = / user = foo:bar user = baz:bar # Now an SSL server port = 443 docroot = /tmp listen = 0.0.0.0 dir_listings = true auth_log = true keyfile = /etc/yaws/yaws-key.pem certfile = /etc/yaws/yaws-cert.pem depth = 0