You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ubuntu Server上将Hugo Web Server作为守护进程(服务)启动

嘿,我明白你的需求——想用Hugo当生产环境的Web服务器,但找不到把它设为守护进程的方法对吧?Ubuntu 16.04用systemd来管理是最合适的方案,毕竟Hugo本身没自带守护进程的功能,咱们可以用系统自带的服务管理器来搞定,步骤如下:

用Systemd将Hugo配置为守护进程(Ubuntu 16.04)

1. 创建Systemd服务文件

首先,咱们要给Hugo创建一个systemd服务配置文件,这样系统就能管理它的启动、重启和开机自启了。

打开终端,用编辑器创建文件:

sudo nano /etc/systemd/system/hugo.service

然后把下面的内容粘贴进去,注意替换你的站点目录、端口、BaseURL这些参数为你自己的实际信息:

[Unit]
Description=Hugo Static Site Server
After=network.target

[Service]
# 替换成你运行Hugo的用户,比如你的普通用户名
User=your_username
# 替换成你的Hugo站点根目录(就是有config.toml的那个文件夹)
WorkingDirectory=/path/to/your/hugo/site
# Hugo启动命令,根据需要添加参数,比如--disableLiveReload适合生产环境
ExecStart=/usr/local/bin/hugo server --bind 0.0.0.0 --port 8080 --baseURL https://yourdomain.com --disableLiveReload
Restart=always
RestartSec=5
Environment="PATH=/usr/local/bin:/usr/bin:/bin"

[Install]
WantedBy=multi-user.target

2. 配置Systemd并启动服务

保存并关闭文件后,执行下面的命令让systemd识别新的服务:

sudo systemctl daemon-reload

接下来启动Hugo服务:

sudo systemctl start hugo

如果想让Hugo在系统开机时自动启动,执行:

sudo systemctl enable hugo

3. 验证服务状态和排查问题

查看Hugo服务的运行状态:

sudo systemctl status hugo

如果遇到启动失败或者运行异常,可以查看日志排查:

journalctl -u hugo -f

一些额外提示

  • 生产环境建议加上--disableLiveReload参数,关闭实时重载功能,节省资源
  • 如果需要用80或443端口,要么给Hugo添加权限(sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/hugo),要么用反向代理(比如Nginx)转发请求
  • 如果你修改了服务配置文件,记得重新执行sudo systemctl daemon-reload和sudo systemctl restart hugo让配置生效

内容的提问来源于stack exchange,提问作者Andrei Galatyn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 06:54:19