Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
cutelystd4-qt6(1)	     General Commands Manual	       cutelystd4-qt6(1)

NAME
     cutelystd4-qt6 - Fast, developer friendly WSGI server for Cutelyst applica-
     tions.

SYNOPSIS
     cutelystd4-qt6 [OPTIONS]

DESCRIPTION
     cutelystd4-qt6  is  a  developer friendly WSGI server for Cutelyst applica-
     tions that can either be used as standalone HTTP server or as a gateway be-
     tween your Cutelyst application and another webserver like Apache or nginx.
     It supports HTTP, HTTPS, HTTP/2 and FastCGI sockets.

OPTIONS
   Generic Program Information
     -h, --help
	    Output a usage message and exit

     -v, --version
	    Output the version number of cutelystd4-qt6 and exit.

   Load Application
     -a, --application file
	    Path to the application file to load.

     -r, --auto-restart
	    Automatically restart when the application	file  changes.	Requires
	    that master process (--master) and lazy mode (--lazy) are enabled.

     --pidfile file
	    Create pid file (before privileges drop).

     --pidfile2 file
	    Create pid file (after privileges drop).

     --stop pidfile
	    Stop an instance identified by pidfile.

   Directories and Mountpoints
     --chdir directory
	    Change to the specified directory before the application loads.

     --chdir2 directory
	    Change  to	the  specified	directory after the application has been
	    loaded.

     --static-map mountpoint=path
	    Map mountpoint to local path to serve static files.  The  mountpoint
	    will  be removed from the request path and the rest will be appended
	    to the local path to find the file to serve. Can  be  used	multiple
	    times.

	    If	for  example  defining	a static map /assets=/path/to/static and
	    then getting a request for /assets/css/style.css,  the  Server  will
	    remove /assets from the request path and appends the rest to the lo-
	    cal  path  for  that mountpoint.  In the end it will try to find the
	    requested file locally at /path/to/static/css/style.css.

     --static-map2 mountpoint=path
	    Like static-map but completely appending the request path to the lo-
	    cal path. Can be used multiple times.

	    If for example defining a  static  map  /assets=/path/to/static  and
	    then  getting  a  request for /assets/css/style.css, the Server will
	    append the complete request path to the local path and will  try  to
	    find  the  requested  file	there.	In this example the Server would
	    search locally at /path/to/static/assets/css/style.css for	the  re-
	    quested file.

   Load Configuration
     --ini file
	    Load configuration from ini file.  When used multiple times, content
	    will  be merged and same keys in the sections will be overwritten by
	    content from later files.

     -j, --json file
	    Load configuration from JSON file.	When used multiple  times,  con-
	    tent  will be merged and same keys in the sections will be overwrit-
	    ten by content from later files.

     --touch-reload file
	    Reload the application if the specified  file  is  modified/touched.
	    Requires  that  master process (--master) and lazy mode (--lazy) are
	    enabled. Can be used multiple times.

   Threads and Processes
     -M, --master
	    Enable master process.

     --lazy
	    Set lazy mode (load application in workers instead of master).

     -p, --processes processes
	    Spawn the specified number of processes.   If  set	to  aautoa,  the
	    ideal process count is used.

     -t, --threads threads
	    Number  of threads to use.	If set to aautoa, the ideal thread count
	    is used.

     --cpu-affinity core count
	    Set CPU affinity with the number of CPUs available for  each  worker
	    core.

     --experimental-thread-balancer
	    Balances new connections to threads using round-robin.

   Sockets
     --h1, --http-socket <address>:port
	    Bind to the specified TCP socket using HTTP protocol. To bind to all
	    interfaces,  simply  only  provide	the  port.  Can be used multiple
	    times to add multiple sockets.

     --upgrade-h2c
	    Defines if an HTTP/1 connection set with --h1 can be upgraded to H2C
	    (HTTP 2 Clear Text).

     --hs1, --https-socket <address>:port,certPath,keyPath<,algorithm>
	    Bind to the specified TCP socket using HTTPS protocol. This  expects
	    a comma separated list of options.	address is optional, if omitted,
	    will  bind	to all interfaces.  certPath is the full path to the TLS
	    certificate in PEM format.	keyPath is the full path to the  private
	    TLS  key  in PEM. The optional last part algorithm can be either rsa
	    or ec.  If omitted, rsa will be used as defaut.  Can be used  multi-
	    ple times to add multiple sockets.

     --https-h2
	    Defines  if HTTPS socket set with --hs1 should use ALPN to negotiate
	    HTTP/2.

     --h2, --http2-socket <address>:port
	    Bind to the specified TCP socket using HTTP/2 Clear Text only proto-
	    col. To bind to all interfaces, simply only provide the  port.   Can
	    be used multiple times to add multiple sockets.

     --http2-header-table-size size
	    Set the HTTP2 header table size. Default value: 4096.

     --fastcgi-socket address
	    Bind  to  the specified UNIX/TCP socket using FastCGI protocol.  Can
	    be used multiple times to add multiple sockets.

     --socket-access options
	    Set the LOCAL socket access, such as 'ugo' standing for User, Group,
	    Other access.

     --chown-socket uid:gid
	    Chown UNIX sockets.

     --reuse-port
	    Enable SO_REUSEPORT flag on socket(7) (Linux 3.9+).

     -z, --socket-timeout seconds
	    Set internal sockets timeout in seconds.  Default value: 4.

     -l, --listen size
	    Set the socket listen queue size.  Default value: 100.

     --using-frontend-proxy
	    Defines if a reverse proxy operates in  front  of  this  application
	    server.  If enabled, parses the HTTP headers X-Forwarded-For, X-For-
	    warded-Host and X-Forwarded-Proto  and  uses  this	info  to  update
	    Cutelyst::EngineRequest.

   User and Group
     --uid user/uid
	    Setuid to the specified user/uid.

     --gid group/gid
	    Setgid to the specified group/gid.

     --no-initgroups
	    Disable additional groups set via initgroups().

     --umask mask
	    Set file creation mask.  See also umask(2).

   TCP Settings
     --tcp-nodelay
	    Enable TCP NODELAY on each request.

     --so-keepalive
	    Enable TCP KEEPALIVEs.

   Buffer Sizes
     -b, --buffer-size bytes
	    Set internal buffer size in bytes.	Default value: 4096.

     --post-buffering bytes
	    Sets the size in bytes after which buffering takes place on the hard
	    disk instead of in the main memory. Default value: -1.

     --post-buffering-bufsize bytes
	    Set  buffer size in bytes for read() in post buffering mode. Default
	    value: 4096.

     --socket-sndbuf bytes
	    Set the socket send buffer size in bytes at the OS level. This  maps
	    to the SO_RCVBUF socket(7) option.

     --socket-rcvbuf bytes
	    Set  the  socket  receive buffer size in bytes at the OS level. This
	    maps to the SO_RCVBUF socket(7) option.

     --websocket-max-size kibibytes
	    Maximum allowed payload size for websocket	in  kibibytes.	 Default
	    value:

EXIT STATUS
     0 on success and 1 if something failed.

BUGS
     File bug reports to the issue system of the GitHub project.

EXAMPLE
   Start application with HTTP socket and load ini config file
     cutelystd4-qt6  -M  -a  /path/to/cutelystapp.so  --h1  localhost:3000 --ini
     /path/to/appconfig.ini

   Start application with HTTPS socket on all interfaces and  offer  upgrade  to
     HTTP/2:
     cutelystd4-qt6	   -M	    -a	     /path/to/cutelystapp.so	   --hs1
     :3000,/path/to/cert.pem,/path/to/rsakey.pem --https-h2

   Start application on local FastCGI socket and protect socket file
     cutelystd4-qt6    -M    -a     /path/to/cutelystapp.so	--fastcgi-socket
     /run/cutelystapp.sock  --chown-socket  myuser:www	--socket-access ug --uid
     myuser

   Start application on local FastCGI socket and store PID in file
     cutelystd4-qt6    -M    -a     /path/to/cutelystapp.so	--fastcgi-socket
     /run/cutelystapp.sock --pidfile /run/cutelystapp.pid

   Stop application using pid file
     cutelystd4-qt6 --stop /run/cutelystapp.pid

SEE ALSO
     cutelyst4-qt6(1)

cutelystd4-qt6 4.7.0		   2023-11-29		       cutelystd4-qt6(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=cutelystd4-qt6&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help