Scroll to navigation



hugo-server - A high performance webserver


hugo server [OPTIONS]


Hugo provides its own webserver which builds and serves the site. While hugo server is high performance, it is a webserver with limited options. Many run it in production, but the standard behavior is for people to use it in development and use a more full featured server such as Nginx or Caddy.

'hugo server' will avoid writing the rendered and served content to disk, preferring to store it in 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.


--appendPort[=true] append port to baseURL

-b, --baseURL="" hostname (and path) to the root, e.g. ⟨⟩

--bind="" 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. Defaults: $TMPDIR/hugo_cache/

--canonifyURLs[=false] if true, all relative URLs will be canonicalized using baseURL

--cleanDestinationDir[=false] Remove files from destination not found in static directories

-c, --contentDir="" filesystem path to content directory

-d, --destination="" filesystem path to write files to

--disable404[=false] Do not render 404 page

--disableLiveReload[=false] watch without enabling live browser reload on rebuild

--disableRSS[=false] Do not build RSS files

--disableSitemap[=false] Do not build Sitemap file

--enableGitInfo[=false] Add Git revision, date and author info to the pages

--forceSyncStatic[=false] Copy all files when static is changed.

--i18n-warnings[=false] Print missing translations

--ignoreCache[=false] Ignores the cache directory

-l, --layoutDir="" filesystem path to layout directory

--meminterval="100ms" interval to poll memory usage (requires --memstats), valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".

--memstats="" log memory usage to this file

--noChmod[=false] Don't sync permission mode of files

--noTimes[=false] Don't sync modification time of files

--pluralizeListTitles[=true] Pluralize titles in lists using inflect

-p, --port=1313 port on which the server will listen

--preserveTaxonomyNames[=false] Preserve taxonomy names as written ("Gérard Depardieu" vs "gerard-depardieu")

--renderToDisk[=false] render to Destination path (default is render to memory serve from there)

-s, --source="" filesystem path to read files relative from

--stepAnalysis[=false] display memory and timing of different steps of the program

-t, --theme="" theme to use (located in /themes/THEMENAME/)

--uglyURLs[=false] if true, use /filename.html instead of /filename/

-w, --watch[=true] watch filesystem for changes and recreate as needed


--config="" config file (default is path/config.yaml|json|toml)

--log[=false] Enable Logging

--logFile="" Log File path (if set, logging enabled automatically)

--quiet[=false] build in quiet mode

-v, --verbose[=false] verbose output

--verboseLog[=false] verbose logging


Dec 2016 Hugo 0.18.1