0%

hexo 로컬 서버 테스트와 배포(GitHub)

# 잠깐

아직 설치가 되지 않았다면 [Hexo로 정적 블로그 시작하기](/2017/05/09/hexo/get-started-hexo/)로 가시기 바랍니다. 또한 설정 부분과 포스팅이 궁금하시면 [Hexo 기본설정](/2017/05/09/hexo/hexo-config/), [Hexo 포스팅하기](/2017/05/09/hexo/hexo-newpost/)로 가시길 바랍니다.

# 서버 Server

처음 페이지에서도 적었지만, 정적블로그를 만들고 로컬호스트로 테스트해 보고 넘어갔습니다. 이번 포스트는 만들어 전 포스트를 테스트하고 설정에 지정한(전 GitHub) 곳으로 배포하겠습니다.

# 로컬 서버 테스트

만들어진 포스트(or 블로그)를 리파지토리(repository : repo)에 push 하기 전에 어떻게 표시되는지 확인하는 용도로 사용됩니다.

1
2
3
$ hexo server
INFO Start processing
INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.

만약 설치되어있지 않을 경우, 밑의 명령어로 설치가 가능합니다.

1
$ npm install hexo-server --save

http://localhost:4000/에 접속하시면 로컬 서버가 가동된 것을 확인할 수 있습니다. server가 구동되는 동안 Hexo는 파일이 변경되는 것을 감지하여 자동으로 업데이트합니다. 따라서 수동으로 server를 재시작할 필요가 없습니다.

server 명령어에 지정할 수 있는 옵션은 다음과 같습니다.

옵션 설명 기본값
-i, –ip 서버 IP 지정합니다. 0.0.0.0
-p, –port 포트 번호를 지정합니다. 4000
-s, –static 정적 (static) 파일만 게시합니다. false
-l, –log 서버로그를 표시합니다. false
-o, –open 서버 기동과 동시에 브라우저 창으로 접속합니다. false
–drafts 초안도 게시합니다. false
개인적으로 IP는 하지 않는 것이 좋네요.


# 정적 파일 생성 Generating

서버에 배포하기 전에 정적 파일을 최신버전으로 생성해야 합니다. 다음 명령어로 간단하게 생성할 수 있습니다.

1
$ hexo generate # hexo g

–watch 옵션을 사용하면 실시간으로 파일을 생성할 수 있습니다. 계속 돌아가면서 파일 변화가 있으면 즉시 생성합니다.

파일 변경을 감시(watch)하기
1
$ hexo generate --watch # hexo g --watch

# 배포 Deployment

로컬에서 작성한 내용들을 원격 서버로 올려 실제로 반영하기 위한 작업을 배포 (디플로이먼트: Deployment) 라고 합니다. 다음 명령어로 배포할 수 있습니다.

1
$ hexo deploy # hexo d

원격 서버에 배포하기 위해서는 원격 서버를 미리 설정해야 합니다.

_config.yml
1
2
3
4
5
6
7
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: https://github.com/innks/innks.github.io.git # GitHub 저장소 URL
branch: master # (기본 'master')
message: # (기본 'YYYY-MM-DD HH:mm:ss')

사용할 수 있는 옵션은 다음과 같습니다.

옵션 설명 기본값
type git
repo GitHub 리파지토리 URL
branch 브랜치 이름. 브랜치 이름은 자동으로 설정됩니다. master
message 커밋 메시지 설정 now(‘YYYY-MM-DD HH:mm:ss’)

혹시 플러그인을 설치 안하셨다면 설치합니다. (이 포스터를 계속 따라 하셨다면 처음부분에 설치 했을 것입니다. - 다시보기)

1
$ npm install hexo-deployer-git --save # Git 서버 배포 플러그인

# 다른 메소드들

Hexo 공식 사이트에 가시면 다른 메소드의 배포설정이 나옵니다.

Hexo - Deployment

# 마무리 Git 서버로 Deployment

이제 하나의 명령어로 생성과 배포를 이어서 할 수 있습니다. 두 명령어는 동일한 동작을 수행합니다.

1
2
$ hexo generate --deploy # hexo g -d
$ hexo deploy --generate # hexo d -g

# 참고. 클린하기 clean

포스트를 적고 배포하고 또 적고 배포하고 그러는 중에 에러도 생기게 마련입니다. 그래서 올리기 전에 한번은 모두 청소(삭제)하고 다시 올리기를 하시는것도 좋습니다.

1
2
3
$ hexo clean
INFO Deleted database.
INFO Deleted public folder.

그후

1
2
$ hexo generate --deploy # hexo g -d
$ hexo deploy --generate # hexo d -g

여기까지 입니다. 다름은 테마부분입니다.

# 관련 문서 바로가기