Skip to content
This repository
Fetching contributors…

Cannot retrieve contributors at this time

file 150 lines (125 sloc) 5.163 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150

# 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 = %logdir%

# 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 = %yawsdir%/examples/ebin
ebin_dir = %vardir%/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 = %yawsdir%/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.

<server %host%>
        port = %port%
        listen = 0.0.0.0
        docroot = %docroot%
        auth_log = true
        appmods = <cgi-bin, yaws_appmod_cgi>
</server>

<server localhost>
        port = %port%
        listen = 0.0.0.0
        docroot = /tmp
        dir_listings = true
        auth_log = true
        statistics = true
        <auth>
                realm = foobar
                dir = /
                user = foo:bar
                user = baz:bar
        </auth>
</server>

# Now an SSL server

<server %host%>
        port = %sslport%
        docroot = /tmp
        listen = 0.0.0.0
        dir_listings = true
        auth_log = true
        <ssl>
                keyfile = %certdir%/yaws-key.pem
                certfile = %certdir%/yaws-cert.pem
                depth = 0
        </ssl>
</server>
Something went wrong with that request. Please try again.