Hugo e Nginx · 18 min read · Oct 19, 2025
Como Instalar o Gerador de Sites Hugo com Nginx no Rocky Linux 9

Um site estático é construído com páginas de conteúdo estático ou código HTML, JavaScript ou CSS simples. O conteúdo não é gerado dinamicamente e não envolve nenhum banco de dados ou processamento do lado do servidor. Esses sites são incrivelmente rápidos e imunes a exploits que dependem de código dinâmico ou SQL.
Hugo é um gerador de sites estáticos de código aberto escrito em Go. Ele gera conteúdo convertendo postagens escritas em linguagem markdown para HTML. O Hugo também vem com um servidor embutido para hospedar os sites que gera. Você também pode hospedar um site Hugo no Amazon S3, GitHub pages, Google Cloud, Netlify, Vercel, etc.
Neste tutorial, vamos explorar como instalar o Hugo para criar um site estático em um servidor alimentado pelo Rocky Linux 9. Usaremos o servidor Nginx para hospedar o site e o certificado SSL Let’s Encrypt para garantir nossa instalação.
Pré-requisitos
- Um servidor rodando Rocky Linux 9.
- Um usuário não-root com privilégios sudo.
- Um nome de domínio totalmente qualificado (FQDN) apontando para seu servidor. Para nossos propósitos, usaremos
hugo.example.comcomo o nome de domínio. - Certifique-se de que tudo está atualizado.
$ sudo dnf update - Instale pacotes de utilidade básicos. Alguns deles podem já estar instalados.
$ sudo dnf install wget curl nano unzip yum-utils tree -y
Passo 1 - Configurar o Firewall
O primeiro passo é configurar o firewall. O Rocky Linux usa o Firewalld Firewall. Verifique o status do firewall.
$ sudo firewall-cmd --state
running
O firewall funciona com diferentes zonas, e a zona pública é a padrão que usaremos. Liste todos os serviços e portas ativos no firewall.
$ sudo firewall-cmd --permanent --list-services
Deve mostrar a seguinte saída.
cockpit dhcpv6-client ssh
O Wiki.js precisa das portas HTTP e HTTPS para funcionar. Abra-as.
$ sudo firewall-cmd --add-service=http --permanent
$ sudo firewall-cmd --add-service=https --permanent
Recarregue o firewall para aplicar as mudanças.
$ sudo firewall-cmd --reload
Passo 2 - Instalar o Nginx
O Rocky Linux 9 vem com uma versão mais antiga do Nginx. Você precisa baixar o repositório oficial do Nginx para instalar a versão mais recente.
Crie e abra o arquivo /etc/yum.repos.d/nginx.repo para criar o repositório oficial do Nginx.
$ sudo nano /etc/yum.repos.d/nginx.repo
Cole o seguinte código nele.
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Instale o servidor Nginx.
$ sudo dnf install nginx -y
Verifique a instalação.
$ nginx -v
nginx version: nginx/1.24.0
Ative e inicie o servidor Nginx.
$ sudo systemctl enable nginx --now
Verifique o status do servidor.
$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
Active: active (running) since Mon 2023-10-30 08:24:05 UTC; 7s ago
Docs: http://nginx.org/en/docs/
Process: 4265 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 4266 (nginx)
Tasks: 2 (limit: 4402)
Memory: 1.9M
CPU: 7ms
CGroup: /system.slice/nginx.service
??4266 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
??4267 "nginx: worker process"
Oct 30 08:24:05 hugo.example.com systemd[1]: Starting nginx - high performance web server...
Passo 3 - Instalar o Git
O Hugo precisa do Git para funcionar. Execute o seguinte comando para instalar o Git
$ sudo dnf install git -y
Verifique a instalação do Git.
$ git --version
git version 2.39.3
Passo 4 - Instalar o Hugo
Como o Hugo é construído usando a linguagem Go, instalá-lo é bastante fácil, pois não requer nenhuma dependência e pode ser executado de forma independente.
Baixe o Hugo. Para nosso tutorial, estaremos instalando a versão estendida do Hugo. A versão estendida pode codificar imagens no formato Webp ao processar imagens. Isso é útil se você quiser que o Hugo converta imagens para você em tempo real e mantenha seus tamanhos reduzidos. A versão estendida também inclui um compilador SASS, que pode ser útil em certos casos, caso você precise dele.
Crie um diretório para o Hugo.
$ sudo mkdir /var/www/html/hugo -p
Mude para o diretório recém-criado.
$ cd /var/www/html/hugo
Baixe o Hugo da página de lançamentos do GitHub. No momento da redação deste tutorial, a v0.119.0 é a versão mais recente, que é o que iremos baixar.
$ sudo wget https://github.com/gohugoio/hugo/releases/download/v0.119.0/hugo_extended_0.119.0_linux-amd64.tar.gz
Extraia os arquivos do arquivo.
$ sudo tar -xzf hugo_extended_0.119.0_linux-amd64.tar.gz
Você verá os seguintes três arquivos em seu diretório.
$ ls
hugo hugo_extended_0.119.0_linux-amd64.tar.gz LICENSE README.md
Mova o binário hugo para o diretório /usr/bin.
$ sudo mv hugo /usr/bin/hugo
O arquivo já tem permissão de execução definida, então você não precisa configurá-la.
Confirme a instalação.
$ hugo version
hugo v0.119.0-b84644c008e0dc2c4b67bd69cccf87a41a03937e+extended linux/amd64 BuildDate=2023-09-24T15:20:17Z VendorInfo=gohugoio
Você também pode verificar todas as opções disponíveis para uso usando a flag --help.
$ hugo --help
Você obterá a seguinte saída.
hugo is the main command, used to build your Hugo site.
Hugo is a Fast and Flexible Static Site Generator
built with love by spf13 and friends in Go.
Complete documentation is available at https://gohugo.io/.
Usage:
hugo [flags]
hugo [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
config Print the site configuration
convert Convert your content to different formats
deploy Deploy your site to a Cloud provider.
env Print Hugo version and environment info
gen A collection of several useful generators.
help Help about any command
import Import your site from others.
list Listing out various types of content
mod Various Hugo Modules helpers.
new Create new content for your site
server A high performance webserver
version Print Hugo version and environment info
Flags:
-b, --baseURL string hostname (and path) to the root, e.g. https://spf13.com/
-D, --buildDrafts include content marked as draft
-E, --buildExpired include expired content
-F, --buildFuture include content with publishdate in the future
--cacheDir string filesystem path to cache directory
--cleanDestinationDir remove files from destination not found in static directories
--clock string set the clock used by Hugo, e.g. --clock 2021-11-06T22:30:00.00+09:00
--config string config file (default is hugo.yaml|json|toml)
--configDir string config dir (default "config")
-c, --contentDir string filesystem path to content directory
--debug debug output
-d, --destination string filesystem path to write files to
--disableKinds strings disable different kind of pages (home, RSS etc.)
--enableGitInfo add Git revision, date, author, and CODEOWNERS info to the pages
-e, --environment string build environment
--forceSyncStatic copy all files when static is changed.
--gc enable to run some cleanup tasks (remove unused cache files) after the build
-h, --help help for hugo
--ignoreCache ignores the cache directory
--ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern
-l, --layoutDir string filesystem path to layout directory
--logLevel string log level (debug|info|warn|error)
--minify minify any supported output format (HTML, XML etc.)
--noBuildLock don't create .hugo_build.lock file
--noChmod don't sync permission mode of files
--noTimes don't sync modification time of files
--panicOnWarning panic on first WARNING log
--poll string set this to a poll interval, e.g --poll 700ms, to use a poll based approach to watch for file system changes
--printI18nWarnings print missing translations
--printMemoryUsage print memory usage to screen at intervals
--printPathWarnings print warnings on duplicate target paths etc.
--printUnusedTemplates print warnings on unused templates.
--quiet build in quiet mode
--renderToMemory render to memory (only useful for benchmark testing)
-s, --source string filesystem path to read files relative from
--templateMetrics display metrics about template executions
--templateMetricsHints calculate some improvement hints when combined with --templateMetrics
-t, --theme strings themes to use (located in /themes/THEMENAME/)
--themesDir string filesystem path to themes directory
--trace file write trace to file (not useful in general)
-v, --verbose verbose output
-w, --watch watch filesystem for changes and recreate as needed
Use "hugo [command] --help" for more information about a command.
Delete todos os arquivos restantes na pasta, pois não são mais necessários.
$ sudo rm -rf *.*
Passo 5 - Criar um novo Site Hugo
Emita o seguinte comando para criar um novo site Hugo.
$ sudo hugo new site howtoforge
Você obterá a seguinte saída.
Congratulations! Your new Hugo site was created in /home/navjot/hugo/howtoforge.
Just a few more steps...
1. Change the current directory to /home/navjot/hugo/howtoforge.
2. Create or install a theme:
- Create a new theme with the command "hugo new theme "
- Install a theme from https://themes.gohugo.io/
3. Edit hugo.toml, setting the "theme" property to the theme name.
4. Create new content with the command "hugo new content /.".
5. Start the embedded web server with the command "hugo server --buildDrafts".
See documentation at https://gohugo.io/.
Execute o comando tree para verificar a estrutura do site.
$ tree howtoforge/
Você obterá a seguinte saída.
howtoforge/
??? archetypes
? ??? default.md
??? assets
??? content
??? data
??? hugo.toml
??? i18n
??? layouts
??? static
??? themes
8 directories, 2 files
Mude para o diretório Hugo.
$ cd howtoforge
Passo 6 - Instalar o Tema Hugo
O próximo passo é instalar um tema Hugo. Existem duas maneiras de fazer isso e ambas requerem Git. O primeiro método é simples e envolve clonar o repositório Git do tema. Isso é útil na maioria dos casos e a maneira mais fácil de proceder. Atualizar via esse método é fácil, embora esse método envolva baixar muitas coisas desnecessárias que você não precisa. Existem alguns temas, especialmente os pagos, que não têm um repositório GitHub de onde você pode obtê-los. Esses temas geralmente são oferecidos como um arquivo compactado. Nesse caso, você precisa extrair o arquivo manualmente e manter o tema atualizado manualmente. O terceiro método envolve pegar o tema como um submódulo Git. Isso requer que você inicialize seu diretório Hugo como um repositório Git. Este é o método recomendado e é útil caso você queira implantar seu site no GitHub, Netlify ou qualquer outro serviço de hospedagem. Enviar seu site Hugo para o GitHub garante backups automáticos também, sem esforço extra.
Vamos cobrir os três métodos. Há outro método de instalar um tema Hugo usando módulos Hugo Go. Este método só funciona se o tema estiver disponível como um módulo Hugo. No entanto, não o cobriremos, pois está fora do escopo deste artigo.
Método 1 - Clonando um Tema Hugo
Este é o método mais comumente usado para instalar um tema Hugo. Para nosso tutorial, estaremos instalando o tema Paper. Mude para o diretório Hugo.
$ cd /var/www/html/hugo/howtoforge
Execute o seguinte comando para clonar o repositório GitHub do tema. A flag --depth=1 apenas pega o último commit.
$ sudo git clone https://github.com/nanxiaobei/hugo-paper themes/Paper --depth=1
Para atualizar o tema baixado via esse método, execute os seguintes comandos.
$ cd ~/hugo/howtoforge/themes/Paper
$ sudo git pull
Método 2 - Instalando o Tema a partir de um arquivo compactado
Este é o método mais fácil de todos. Pegue o arquivo do tema. O tema Paper não tem uma seção de lançamentos, então você não pode baixar uma versão específica. Portanto, baixaremos o arquivo master do GitHub. Você pode pegar o link da página do repositório GitHub.
$ cd ~
$ wget https://github.com/nanxiaobei/hugo-paper/archive/refs/heads/main.zip
Extraia o arquivo no diretório de temas. A flag -q suprime a saída e a flag -d especifica o diretório de saída.
$ sudo unzip -q main.zip -d /var/www/html/hugo/howtoforge/themes/
Para atualizar o tema, você precisa baixar o arquivo mais recente e extraí-lo novamente. Certifique-se de fazer um backup de todos os arquivos que você alterou.
Os dois métodos inferiores funcionam apenas se seu site Hugo estiver hospedado como um projeto Git. Caso contrário, você não precisa usar os métodos a seguir.
Método 3 - Instalando o Tema como um Submódulo Git
Mude para a pasta Hugo.
$ cd /var/www/html/hugo/howtoforge
Inicialize a pasta Hugo como um repositório Git. Este é um passo importante. Isso permite que você envie seu site Hugo para o GitHub para uso posterior para hospedagem usando Netlify, AWS, Vercel, etc.
$ sudo git init
Execute o seguinte comando para adicionar o tema como um submódulo Git.
$ sudo git submodule add https://github.com/nanxiaobei/hugo-paper themes/paper
Para atualizar um tema adicionado como um submódulo, execute o seguinte comando a partir da pasta Hugo.
$ sudo git submodule update --remote --merge
Configurar o Hugo
Uma vez que você tenha instalado o tema usando um método de sua escolha, abra o arquivo hugo.toml no diretório raiz do seu Hugo. A partir do Hugo v0.110.0, o arquivo de configuração padrão é nomeado hugo.toml. Se você estiver usando uma versão mais antiga do Hugo, encontrará o arquivo config.toml em seu diretório Hugo.
$ sudo nano hugo.toml
Adicione a seguinte linha ao arquivo. O valor deve corresponder ao diretório do tema. Para o tema Paper, esse seria o diretório hugo-paper-theme se você usou a instalação do arquivo ou Paper se você usou o método de clonagem Git ou submódulo acima.
theme = 'hugo-paper-main'
Além disso, altere o valor da variável baseURL para o nome de domínio do seu site. E mude o título do seu site.
Seu arquivo de configuração deve se parecer com o seguinte.
baseURL = 'https://hugo.example.com/'
languageCode = 'en-us'
title = 'Como fazer Hugo Demo'
theme = 'hugo-paper-main'
Uma vez terminado, salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Passo 7 - Criar Postagens e Páginas
Para criar uma nova postagem, emita o seguinte comando.
$ sudo hugo new post/first-post.md
Isso criará um novo arquivo markdown first-post.md com o título Primeira Postagem na pasta content/post. Abra o arquivo em seu editor favorito e edite os detalhes e escreva algo para sua primeira postagem.
+++
title = 'Primeira Postagem'
date = 2023-10-30T03:32:38Z
draft = true
+++
## Introdução
Este é um texto negrito, e este é um texto *enfatizado*.
Visite o site [Howtoforge](https://www.howtoforge.com)!
Remova o draft = true assim que terminar de escrever a postagem. Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Para criar uma nova página, emita o seguinte comando.
$ sudo hugo new about.md
Isso criará uma nova página intitulada Sobre na pasta content. Abra-a e edite-a da mesma forma que a postagem.
Configurar Tema
Antes de publicar, precisamos fazer algumas alterações no tema para mostrar a barra de menu. Essas alterações serão feitas no arquivo de configuração do Hugo e não na configuração do tema.
Mude para o diretório Hugo.
$ cd /var/www/html/hugo/howtoforge
Abra o arquivo hugo.toml para edição.
$ sudo nano hugo.toml
Cole o seguinte código no final.
author = "Navjot Singh"
copyright = "Copyright © 2023, Navjot Singh; todos os direitos reservados."
paginate = 3
enableInlineShortcodes = true
# necessário para renderizar HTML bruto (por exemplo, , , , )
[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
[menu]
[[menu.main]]
identifier = "about"
name = "Sobre"
url = "/about/"
weight = 10
[taxonomies]
category = "categorias"
tag = "tags"
series = "séries"
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Essas são algumas configurações básicas para tornar o site funcional. Aqui configuramos o site para exibir 3 postagens por página, mostrar a página Sobre como um item de menu e configurar categorias, tags e séries de postagens. Também habilitamos os shortcodes inline do Hugo e habilitamos HTML bruto para o renderizador Markdown Goldmark. Você pode desativá-lo se não quiser incorporar HTML bruto em suas postagens.
Passo 8 - Publicar o Site Hugo
Para construir e publicar o site, basta executar o seguinte comando.
$ sudo hugo
Você obterá uma saída semelhante.
Start building sites …
hugo v0.119.0-b84644c008e0dc2c4b67bd69cccf87a41a03937e+extended linux/amd64 BuildDate=2023-09-24T15:20:17Z VendorInfo=gohugoio
| EN
-------------------+-----
Pages | 7
Paginator pages | 0
Non-page files | 0
Static files | 11
Processed images | 0
Aliases | 3
Sitemaps | 1
Cleaned | 0
Total in 46 ms
Isso cria e publica o site estático Hugo na pasta public. Esses são os arquivos que precisamos especificar na configuração do Nginx para que o site funcione. Execute o comando novamente após fazer qualquer alteração e seu site será atualizado em pouco tempo.
Passo 9 - Instalar SSL
Antes de prosseguirmos, precisamos instalar a ferramenta Certbot e instalar um certificado SSL para nosso domínio.
Para instalar o Certbot, usaremos o instalador de pacotes Snapd. O Snapd sempre carrega a versão estável mais recente do Certbot e você deve usar isso.
A ferramenta Snapd requer o repositório Epel para funcionar.
$ sudo dnf install epel-release -y
Usaremos o Snapd para instalar o Certbot. Instale o Snapd.
$ sudo dnf install snapd -y
Ative e inicie o serviço Snap.
$ sudo systemctl enable snapd.socket --now
Crie links necessários para o Snapd funcionar.
$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh
Certifique-se de que sua versão do snapd está atualizada. Aguarde alguns segundos antes de emitir os seguintes comandos.
$ sudo snap install core
$ sudo snap refresh core
Instale o Certbot.
$ sudo snap install --classic certbot
Use o seguinte comando para garantir que o comando Certbot possa ser executado criando um link simbólico para o diretório /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Verifique a instalação.
$ certbot --version
certbot 2.7.3
Gere um certificado SSL.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d hugo.example.com
O comando acima baixará um certificado para o diretório /etc/letsencrypt/live/hugo.example.com em seu servidor.
Gere um certificado de grupo Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Verifique o serviço do agendador de renovação do Certbot.
$ sudo systemctl list-timers
Você encontrará snap.certbot.renew.service como um dos serviços agendados para execução.
NEXT LEFT LAST PASSED UNIT ACTIVATES
Wed 2023-10-29 10:00:17 UTC 57min left Wed 2023-10-18 08:49:39 UTC 12min ago dnf-makecache.timer dnf-makecache.service
Wed 2023-10-29 12:18:00 UTC 3h 15min left - - snap.certbot.renew.timer snap.certbot.renew.service
Thu 2023-10-30 00:00:00 UTC 14h left Wed 2023-10-18 08:10:08 UTC 52min ago logrotate.timer logrotate.service
Faça um teste do processo para verificar se a renovação do SSL está funcionando bem.
$ sudo certbot renew --dry-run
Se você não ver erros, está tudo pronto. Seu certificado será renovado automaticamente.
Passo 10 - Configurar o Nginx
Crie e abra o arquivo /etc/nginx/conf.d/hugo.conf para edição.
$ sudo nano /etc/nginx/conf.d/hugo.conf
Cole o seguinte código no arquivo hugo.conf. Substitua todas as instâncias de hugo.example.com pelo seu domínio.
## enforce HTTPS
server {
listen 80;
listen [::]:80;
server_name hugo.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name hugo.example.com;
root /home/navjot/hugo/howtoforge/public;
index index.html
access_log /var/log/nginx/hugo.access.log;
error_log /var/log/nginx/hugo.error.log;
client_max_body_size 20m;
gzip on;
http2_push_preload on; # Enable HTTP/2 Server Push
ssl_certificate /etc/letsencrypt/live/hugo.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hugo.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/hugo.example.com/chain.pem;
ssl_session_timeout 1d;
# Enable TLS versions (TLSv1.3 is required upcoming HTTP/3 QUIC).
ssl_protocols TLSv1.2 TLSv1.3;
# Enable TLSv1.3's 0-RTT. Use $ssl_early_data when reverse proxying to
# prevent replay attacks.
#
# @see: https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data
ssl_early_data on;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384';
ssl_prefer_server_ciphers on;
ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
add_header X-Early-Data $tls1_3_early_data;
location / {
try_files $uri $uri/ =404;
}
# Media
location ~* \\.jpg|jpeg|gif|png|ico|cur|gz|svg|mp4|ogg|ogv|webm|htc$ {
expires 30d;
}
# CSS and Js
location ~* \\.css|js$ {
expires 7d;
}
}
# This block is useful for debugging TLS v1.3. Please feel free to remove this
# and use the "$ssl_early_data" variable exposed by NGINX directly should you
# wish to do so.
map $ssl_early_data $tls1_3_early_data {
"~." $ssl_early_data;
default "";
}
A configuração acima redirecionará todas as solicitações HTTP para HTTPS e servirá como um proxy para o serviço Hugo servir via seu domínio.
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Abra o arquivo /etc/nginx/nginx.conf para edição.
$ sudo nano /etc/nginx/nginx.conf
Adicione a seguinte linha antes da linha include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Verifique sua configuração do Nginx.
$ sudo nginx -t
Se você não ver erros, significa que está tudo pronto. Recarregue o servidor Nginx.
$ sudo systemctl reload nginx
Passo 11 - Configurar SELinux
Altere o contexto de segurança do arquivo para o OpenEMR.
$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/hugo/howtoforge/public(/.*)?"
Aplique a política.
$ sudo restorecon -Rv /var/www/html/hugo/howtoforge/public/
Permita que o Nginx se conecte à rede.
$ sudo setsebool -P httpd_can_network_connect 1
Passo 12 - Executar o Site
Agora, você pode verificar sua instalação abrindo https://hugo.example.com em seu navegador. Você verá a seguinte página indicando uma instalação bem-sucedida.

Passo 13 - Atualizar o Hugo
Atualizar o Hugo é bastante simples. Baixe o lançamento mais recente da página do GitHub do Hugo.
$ cd /var/www/html/hugo
$ sudo wget https://github.com/gohugoio/hugo/releases/download/v0.119.0/hugo_extended_0.119.0_linux-amd64.tar.gz
Extraia o arquivo.
$ sudo tar -xzf hugo_extended_0.119.0_linux-amd64.tar.gz
E substitua o binário do Hugo pela versão mais recente. A flag -f sobrescreve o binário sem solicitar. Você pode usar a flag -i em vez disso se quiser ser solicitado a sobrescrever.
$ sudo mv -f hugo /usr/bin/hugo
É isso. Atualizar o Hugo é tão simples quanto substituir o binário.
Passo 14 - Fazer Backup e Restaurar o Hugo
Para fazer um backup, crie um arquivo compactado de toda a pasta do Hugo.
$ cd /var/www/html/hugo
$ sudo tar -czvf howtoforge.tar.gz howtoforge/
Para restaurá-lo em um novo servidor, extraia o arquivo compactado e instale o binário e você estará pronto para ir.
$ cd /var/www/html/hugo
$ sudo tar -xzf howtoforge.tar.gz
Conclusão
Isso conclui nosso tutorial sobre como configurar o gerador de sites estáticos Hugo em seu servidor Rocky Linux 9 usando o Nginx. Se você tiver alguma dúvida ou feedback, compartilhe nos comentários abaixo.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.