–port
포트는 기본적으로 1313 포트를 사용합니다만, 80 포트를 사용하려면 --port
옵션을 사용합니다. -p
로 단축 옵션을 사용할 수도 있습니다.
–bind
goorm ide에서, 혹은 클라우드에서 외부에 노출하려면 바인딩을 0.0.0.0
으로 정해주어야 할 때도 있습니다.
–baseURL
root가 되는 호스트이름과 path를 정해줍니다. 단축은 -b
입니다
–contentDir
content 디렉토리만 지정할 수 있습니다. 단축은 -c
입니다.
–source
ugo 명령어를 실행할 때 -s(-source) 옵션을 사용하는 것으로, 소스 디렉토리의 패스를 지정해 기동할 수 있습니다.
예: ~/mysite 이하의 소스코드를 사용하여 Hugo 서버를 기동한다
hugo server -s ~/mysite
예: ~/mysite 이하 기사를 신규 작성하기
hugo new sample.md -s ~/mysite
위의 예에서는 -s~/mysite라고 하는 소스 디렉토리의 지정을 끝에 가져왔는데 hugo의 직후에 지정해도 동작하는 것 같습니다. 이것을 이용하고, 아래와 같은 커맨드 에일리어스를 작성해 두면, 어느 디렉토리로부터도 곧바로 기사 작성을 시작할 수 있어 편리합니다.
~/.bash_profile
alias hugo-mysite=hugo -s ~/mysite
예를 들어 아래와 같이 사용할 수 있습니다.
hugo-mysite new sample.md #기사작성
hugo-mysite server #Hugo 서버 부팅
hugo-mysite #업로드용 콘텐츠 생성 (~/mysite/public/)
Hugo 서버를 하나의 명령 프롬프트로 실행하기
복수의 사이트를 Hugo로 작성하고 있는 케이스에서는, 하나의 커맨드 프롬프트에서 동시에 서버 기동할 수 있으면 편리합니다.
여기에서는 아래와 같이 홈 디렉토리 이하에 복수의 Hugo 프로젝트가 존재한다고 합시다.
C:/website/site1
C:/website/site2
C:/website/site3
각 Hugo 프로젝트에 대해 Hugo 서버를 기동하려면 예를 들어 다음과 같이 실행합니다.
포트 번호를 지정하여 Hugo 서버를 여러 개 실행한다
C:\> hugo server-p 50001-s C:/website/site1
C:\> hugo server-p 50002-s C:/website/site2
C:\> hugo server-p 50003-s C:/website/site3
참고.
커런트 디렉토리에 신경 쓰지 말고 hugo 명령어를 실행하다
포트 번호를 지정하고 Hugo 서버를 실행하다
단, 위와 같이 하면 하나의 서버 프로세스가 하나의 명령 프롬프트를 점유하기 때문에 여러 개의 Hugo 서버를 기동하고 있을 때 여러 개의 명령 프롬프트를 연 상태로 두어야 합니다.
윈도우일 경우
Windows의 start 명령어를 사용하면 백그라운드에서 hugo 명령어를 실행할 수 있으므로 추가로 명령 프롬프트를 열지 않고 여러 개의 Hugo 서버를 기동할 수 있습니다. 예를 들어, 아래의 배치 파일은, 3개의 Hugo 서버를 배경으로 기동합니다.
start-servers.bat
@echooff
start bhugo server-p50001-s C:/website/site1
start bhugo server-p 50002-s C:/website/site 2
start bhugo server-p50003-s C:/website/site3
title Hugo Servers
마지막 행인 title Hugo Servers에서는 명령 프롬프트의 창 제목을 Hugo Servers로 변경하고 있습니다. 창 제목을 변경해 두면 태스크바만 봐도 무엇을 위한 창인지 판별하기 쉬워지기 때문에 추천합니다.
백그라운드로 동작하고 있는 Hugo 서버를 정리하여 종료하려면 예를 들어 taskkill 명령을 사용하여 hugo.exe에 의한 프로세스를 정리하여 종료합니다.
stop-servers.bat
@echooff
taskkkill /f /im hugo.exe
Windows 의 start 커맨드나, taskkill 커맨드의 자세한 것은, Windows DevNote를 참조해 주세요.
Linux의 경우
Linux나 macOS의 경우는 다음과 같이 말미에 & 를 붙여 hugo 명령어를 실행하면 간단하게 여러 서버를 배경으로 시작할 수 있습니다.
start-servers.sh
hugo server-p 50001-s~/website/site 1 &
hugo server-p 50002-s~/website/site 2 &
hugo server-p 50003-s~/website/site 3 &
Hugo 서버의 프로세스를 정리하여 종료하고자 할 때는 killall 명령어로 간단하게 종료할 수 있습니다.
stop-servers.sh
kill all hugo
아래와 같이, 함수나 에이리어스로서 준비해 두는 것이 민첩할지도 모릅니다.
~/.bash_profile
```bash
function hugo-start{
hugo server-p 50001-s~/website/site 1 &
hugo server-p 50002-s~/website/site 2 &
hugo server-p 50003-s~/website/site 3 &
}
function hugo-stop {
kill all hugo
}
Hugo 서버에서 기사 변경 내용이 반영되지 않는 경우
Hugo 서버를 시작해 기사 갱신을 하고 있으면, Web 브라우저를 리로드 해도 변경 내용이 반영되지 않을 수 있습니다 (특히 layouts나 partials 등, 공유해 사용하는 부분 등).
페이지 빌드에 성공했는데 변경내용이 반영되지 않으면 Hugo 서버의 캐시를 의심해 볼 수도 있습니다.
hugoserver 명령어를 실행할 때, –ignore Cache 옵션을 붙이면 캐시를 사용하지 않고 렌더링됩니다.
$hugo server --ignoreCache
테마 지정해서 실행하기
-t 테마이름
으로 실행합니다.