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 ap-
       plications.

SYNOPSIS
       cutelystd4-qt6 [OPTIONS]

DESCRIPTION
       cutelystd4-qt6 is a developer friendly WSGI server for Cutelyst	appli-
       cations that can	either be used as standalone HTTP server or as a gate-
       way between 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. Re-
	      quires 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	mount-
	      point 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 local path	for that mountpoint.  In the end it  will  try
	      to   find	  the	requested   file   locally   at	 /path/to/sta-
	      tic/css/style.css.

       --static-map2 mountpoint=path
	      Like static-map but completely appending the request path	to the
	      local 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 requested 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,
	      content will be merged and same keys in  the  sections  will  be
	      overwritten by content from later	files.

       --touch-reload file
	      Reload   the   application   if  the  specified  file  is	 modi-
	      fied/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 auto, the
	      ideal process count is used.

       -t, --threads threads
	      Number of	threads	to use.	 If set	 to  auto,  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  mul-
	      tiple 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 ex-
	      pects 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 algo-
	      rithm  can be either rsa or ec.  If omitted, rsa will be used as
	      defaut.  Can be used multiple times to add multiple sockets.

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

       --h2, --http2-socket <address>:port
	      Bind  to	the  specified TCP socket using	HTTP/2 Clear Text only
	      protocol.	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-
	      Forwarded-Host and X-Forwarded-Proto and uses this info  to  up-
	      date 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.  De-
	      fault 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.  De-
	      fault value:

EXIT STATUS
       0 on success and	1 if something failed.

BUGS
       File  bug  reports  to  the  issue  system  of	the   GitHub   project
       <https://github.com/cutelyst/cutelyst/issues>.

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.5.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+14.3.quarterly>

home | help