hugo-server - Man Page
A high performance webserver
Examples (TL;DR)
- Build and serve a site:
hugo server
- Build and serve a site on a specified port number:
hugo server --port port_number
- Build and serve a site while minifying supported output formats (HTML, XML, etc.):
hugo server --minify
- Build and serve a site in the production environment with full re-renders while minifying supported formats:
hugo server --environment production --disableFastRender --minify
- Display help:
hugo server --help
Synopsis
hugo server [command] [flags]
Description
Hugo provides its own webserver which builds and serves the site. While hugo server is high performance, it is a webserver with limited options.
The hugo server command will by default write and serve files from disk, but you can render to memory by using the --renderToMemory flag. This can be faster in some cases, but it will consume more memory.
By default hugo will also watch your files for any changes you make and automatically rebuild the site. It will then live reload any open browser pages and push the latest content to them. As most Hugo sites are built in a fraction of a second, you will be able to save and see your changes nearly instantly.
Options
--appendPort[=true] append port to baseURL
-b, --baseURL="" hostname (and path) to the root, e.g. https://spf13.com/
--bind="127.0.0.1" interface to which the server will bind
-D, --buildDrafts[=false] include content marked as draft
-E, --buildExpired[=false] include expired content
-F, --buildFuture[=false] include content with publishdate in the future
--cacheDir="" filesystem path to cache directory
--cleanDestinationDir[=false] remove files from destination not found in static directories
-c, --contentDir="" filesystem path to content directory
--disableBrowserError[=false] do not show build errors in the browser
--disableFastRender[=false] enables full re-renders on changes
--disableKinds=[] disable different kind of pages (home, RSS etc.)
--disableLiveReload[=false] watch without enabling live browser reload on rebuild
--enableGitInfo[=false] add Git revision, date, author, and CODEOWNERS info to the pages
--forceSyncStatic[=false] copy all files when static is changed.
--gc[=false] enable to run some cleanup tasks (remove unused cache files) after the build
-h, --help[=false] help for server
--ignoreCache[=false] ignores the cache directory
-l, --layoutDir="" filesystem path to layout directory
--liveReloadPort=-1 port for live reloading (i.e. 443 in HTTPS proxy situations)
--minify[=false] minify any supported output format (HTML, XML etc.)
-N, --navigateToChanged[=false] navigate to changed content file on live browser reload
--noBuildLock[=false] don't create .hugo_build.lock file
--noChmod[=false] don't sync permission mode of files
--noHTTPCache[=false] prevent HTTP caching
--noTimes[=false] don't sync modification time of files
--panicOnWarning[=false] panic on first WARNING log
--poll="" set this to a poll interval, e.g --poll 700ms, to use a poll based approach to watch for file system changes
-p, --port=1313 port on which the server will listen
--pprof[=false] enable the pprof server (port 8080)
--printI18nWarnings[=false] print missing translations
--printMemoryUsage[=false] print memory usage to screen at intervals
--printPathWarnings[=false] print warnings on duplicate target paths etc.
--printUnusedTemplates[=false] print warnings on unused templates.
--renderSegments=[] named segments to render (configured in the segments config)
--renderStaticToDisk[=false] serve static files from disk and dynamic files from memory
--templateMetrics[=false] display metrics about template executions
--templateMetricsHints[=false] calculate some improvement hints when combined with --templateMetrics
-t, --theme=[] themes to use (located in /themes/THEMENAME/)
--tlsAuto[=false] generate and use locally-trusted certificates.
--tlsCertFile="" path to TLS certificate file
--tlsKeyFile="" path to TLS key file
- --trace="" write trace to file
- (not useful in general)
-w, --watch[=true] watch filesystem for changes and recreate as needed
Options Inherited from Parent Commands
--clock="" set the clock used by Hugo, e.g. --clock 2021-11-06T22:30:00.00+09:00
--config="" config file (default is hugo.yaml|json|toml)
--configDir="config" config dir
--debug[=false] debug output
-d, --destination="" filesystem path to write files to
-e, --environment="" build environment
--ignoreVendorPaths="" ignores any _vendor for module paths matching the given Glob pattern
--logLevel="" log level (debug|info|warn|error)
--quiet[=false] build in quiet mode
-M, --renderToMemory[=false] render to memory (mostly useful when running the server)
-s, --source="" filesystem path to read files relative from
--themesDir="" filesystem path to themes directory
-v, --verbose[=false] verbose output
See Also
Referenced By
hugo(1), hugo-server-trust(1).