Man Linux: Main Page and Category List

NAME

       yaws - yet another webserver

SYNOPSIS

       yaws [OPTIONS]

DESCRIPTION

       Yaws  is  fast  lightweight  webserver.  It  can  run  as  daemon or in
       interactive mode where it is possible to  directly  interact  with  the
       webserver. Yaws is particularly good at generating dynamic content. See
       the user docs for more information on that topic.

DEAMON/SERVER options

       -i | --interactive
              Interactive mode. This will start yaws in interactive mode  with
              an  erlang  prompt. All error_logger messages will be written to
              the tty as well in this mode.  Use  this  when  developing  yaws
              code.

       -w | --winteractive
              Cygwin inteactive mode (werl)

       -D | --daemon
              Daemon mode. This will start yaws as a daemon.

       --heart
              This will cause the yaws system to be automatically restarted in
              case it should crash. This switch  also  requires  the  --daemon
              switch to be present.

       --heart-restart=C,T
              This controls the number of restarts in a given time period that
              heart tolerates before refusing to  restart  Yaws.  By  default,
              heart  allows  up to 5 restarts within a 60 second period before
              refusing to restart Yaws again.  This  option  allows  up  to  C
              restarts  in  T seconds instead. To allow infinite restarts, set
              both C and T to 0. This switch automatically enables the --heart
              switch.

       --debug
              Debug  mode.  This  will produce some auxiliary error output for
              some error conditions. It will also start the otp sasl  lib  for
              additional error printouts.

       --nodebug
              Non-debug mode. This is useful for running interactively via the
              -i option but without incurring  the  performance  penalties  of
              debug mode.

       --conf file
              Use a different configuration file than the default. The default
              configuration file when running as root is  /etc/yaws/yaws.conf.
              When  running as a non priviliged user, yaws will search for its
              configuration  file   in   the   following   order.   First   in
              $HOME/yaws.conf,    then   in   ./yaws.conf   and   finally   in
              /etc/yaws/yaws.conf

       --runmod module
              Tells yaws to call module:start/0  at  startup.  This  makes  it
              possible  to  startup  user  specific applications together with
              yaws.

       --pa path
              Add path to the yaws system search path

       --tracetraf
              Traffic trace mode. All traffic will be written to a trace  file
              called trace.traffic in the log directory.

       --tracehttp
              HTTP  trace  mode.  All HTTP messages will be written to a trace
              file called trace.http in the log directory.

       --traceout
              When yaws is put into trace mode  using  either  --tracetraf  or
              --tracehttp,  traces  are  written  to  files. If we provide the
              --traceout flag, the trace will also be written to stdout.

       --trace
              Sames as --tracetraf --traceout. I.e. trace everything and write
              to stdout.

       --mnesiadir dir
              Start Mnesia in directory <dir>

       --sname xxx
              Start  yaws  as  a distributed erlang node with name <xxx> using
              the unqualified hostname as nodename postfix

       --disable-kpoll
              By default, yaws starts erlang with +K true. This flag  reverses
              that.

       --name xxx
              Start  yaws  as  a distributed erlang node with name <xxx> using
              the fully qualified hostname as nodename postfix

       --proto_dist Mod
              Use module Mod for erlang distribution. This is  typically  only
              used when we want to run erlang distribution over SSL.

       --erlarg STRING
              Pass STRING as an additional argument to the "erl" program.

       --id ID
              This  flag  sets  the  id.  If  we’re  starting  a daemon (or an
              interactive system) it gives the Yaws server  the  identity  ID.
              This  means  that  the server will write all internal files into
              the directory $HOME/.yaws/yaws/ID.

              Yaws also creates  a  file  called  ${VARDIR}/run/yaws/ctl-${ID}
              which  contains  the  portnumber  the daemon is listening on for
              control request by the control command such as "yaws --hup" etc.

              If  we’re  invoking  a control command which should perform some
              control function on the daemon, we may have  to  give  the  --id
              flag  also  to  the  control  command.  If  we don’t do this the
              control command may  interact  with  the  wrong  daemon  due  to
              finding the wrong "ctl" file.

              The daemon may also optionally specify the "id" in the yaws.conf
              configuration file.

CONTROL OPTIONS

       The following list of options are are used to control the  daemon  from
       the "outside" while it is running.

       --hup [--id ID]
              HUP   the   daemon.   This  forces  the  daemon  to  reread  the
              configuration file.  It also makes  the  daemon  empty  all  its
              internal  content  caches.   Hence  when  updating the doc root,
              HUPing the daemon is the fastest way to see the content updates.

       --stop [--id id]
              Stop the daemon (called id)

       --ls   Lists  current  ids and status of all yaws servers on localhost.
              In practice this amounts to a listdir in $HOME/.yaws/yaws -  and
              check  whether the different systems who has created files there
              are alive.

       --status [--id id]
              Query a running yaws daemon for its status, and print it.

       --stats [--id id]
              Query a running yaws daemon for its statistics, and print it.

       --load Modules [--id id]
              Try to (re)load erlang modules into a running daemon.   This  is
              useful after modifying appmods or modules used by scripts.

       --debug-dump  [--id id]
              Produce  a  debug  dump on stdout. In particular this code lists
              what we refer to as suspicious processes.  I.e.  processes  that
              might  be  hanging  or processes that are "large" - hardcoded to
              40k words.

       --ctltrace [--id ID] http | traffic | off
              Control the trace capabilities of a running yaws daemon. If  the
              http or traffic option is given, the daemon will write a log for
              debug purposes into the logdir.

       --wait-started[=T] [--id ID]
              Waits at most 5 seconds for the server to start. Exits with 0 if
              server  is  running,  1  otherwise.  Typically  useful  in  test
              scripts. The default 5 seconds can be modified by  appending  =T
              to  the option, where T is the desired number of seconds to wait
              for the server to start.

MISC OPTIONS

       --check YawsFile [IncDirs ....]
              Test compile a ‘.yaws’ file. Useful in Makefiles when we want to
              ensure that all .yaws files are syntactically correct

       --version
              output version information and exit

ENVIRONMENT VARIABLES

       HOME   Is  used  to  determine  where  we write the temporary files. By
              default all tmp files end up in $HOME/.yaws. This  includes  the
              JIT  files that are the result of processed .yaws files and also
              the so called control file that is used by the daemon  to  write
              the  port  number  to which it is listening for control commands
              such as "yaws --status"

              Thus HOME is the handle we use in the control commands  to  find
              the control file so that we know where to connect to.

       YAWSHOME
              Can  be  used to override the HOME variable. This is useful when
              we for example are running yaws under port binding programs such
              as authpriv.

              It’s  useful  by distros that don’t want Yaws to write any files
              ever in the HOME directory of root.

AUTHOR

       Written by Claes Wikstrom

SEE ALSO

       yaws.conf(5) erl(1)