서버에서 hexo 블로그를 구축하는 방법

설명 링크

함께 Vateral 주제는 , 가까운 끝에 개발 속도에 최적화 된 주제 전에 많은 시간과 githubpage 문제가 발견 : 첫 번째는 아주 느린 때문에 국가의 액세스 속도 자체입니다, 16킬로바이트의 아이콘을로드하는 데 시간이 한 번 있었다 26S을 보냈다! ! ? <- 더 -!> 둘째, 자원 CDN은 도메인 이름이 기록에 대한 필요성이다 호스팅 가속 할 때, 분명히 할 수없는 또한 githubpage, 내 알리 클라우드 서버 구축이 hexo을 포기 그래서 결정적으로

전체보다 더 복잡 빌드로 GitHub의에 hexo보다, 그리고 구덩이 동안 많은 경험도 많은 정보는 여기에 특정 단계에 대한 개요를 설명 참조.

hexo 아키텍처


hexo 아키텍처

먼저 우리는 서버를 통해 액세스되는 정적 블로그 hexo를 구현하는 방법을 이해해야한다

우리가 알 수있는 그래프, 전체 프로세스는 통해 로컬 인 hexo g정적 파일 렌더링 블로그, 다음을 통해 hexo d정적 파일에 자식 저장소 그래서 당신이 액세스 할 수있는, 우리 자신의 창조, 사이트의 자식 - 후크 동기화 루트를 통해 서버의 서버에 밀어

빌드 과정


첫 번째 단계 : 초기화 Node.js를 지역 Hexo를 설치
: 두 번째 단계 , 힘내, Nginx의 구성의 설치를 포함하여, 빌드 서버 환경을 사용자 힘내 만드는
세 번째 단계 : 자동 블로그 게시를 배포 힘내를 사용하는

지역 환경


설치 Node.js를

$ brew install node

초기화 Hexo 블로그

먼저 Hexo 디렉토리를 생성

$ mkdir "your hexo dir name"//创建一个自定义的hexo目录,比如我就在用户根目录创建了一个myhexo文件夹(macOS)
$ cd "your hexo dir name"//进入到刚刚创建的目录

그런 다음 hexo-CLI 설치 hexo-CLI 요구 루트 권한, sudo를 사용하여 실행에 설치

sudo npm install -g hexo-cli

폴더를 초기화

hexo init

확장 hexo의 설치

npm install

그리고 다른 플러그인은 성공적인 구현, hexo - 전개 - 자식과 hexo 서버, 아마도 플러그인의 역할에 자동으로 배포 할 힘내를 사용하고 간단한 로컬 서버 후 2를 설치했습니다.

npm install hexo-deployer-git --save
npm install hero-server --save

그리고 다른 플러그인 ( * 비 필수 )

npm install hexo-admin --save
npm install hexo-generator-archive --save
npm install hexo-generator-feed --save
npm install hexo-generator-search --save
npm install hexo-generator-tag --save
npm install hexo-generator-sitemap --save

여기에 ~ 기본적으로 이상하고 와서 로컬 표시 줄에 새 글을 시작했다 지역 구조를 hexo

자신의 첫 번째 기사를 작성

사용이 새로운 기사를 작성하기위한 새로운 <문서 이름> hexo 명령은 .md 파일 소스 / _posts 폴더에 위치합니다. (* hexo 디렉토리에서 명령을 실행 )

hexo new "hello Hexo"

명령을 실행 한 후 hexo 디렉토리에 소스가 / _posts 방금 만든 안녕하세요 생성 된 폴더에
다음 당신이의 로컬 또는 온라인 인하 편집기를 통해 자신의 블로그를 만들 수 있습니다, 가격 인하 파일의 Hexo.md ~

편집이 완료된 후, 사용 hexo의 g는 정적 파일로 .md 파일을 렌더링 한 다음 서버 hexo 시작

hexo g
hexo server

열기 에 http : // localhost를 : 4000 당신이 성공적으로 설치를 증명 hexo 초기 페이지를 참조하십시오.

SSH 공개 키 생성

$ cd ~/.ssh
$ ssh-keygen

그것은 첫 번째 (스푸핑 / id_rsa_gsg_keypair를) 다음 그것을 만들 것입니다 당신이 비워 될 수있는 공개 키를 사용하는 경우 암호를 입력하지 않으려는 경우, 비밀번호를 두 번 반복 공개 키를 저장할 위치를 확인을 요청, 특정 제품 생산 방법이 될 수있다 여기

대중은 서버의 인증서에 복사 한 다음 공개 키 암호마다 푸시를 입력 방지 할 수 추가됩니다.

이 시점에서, 지역의 건축 환경은 기본적으로 완료되었습니다.

빌드 서버 환경


nginx를 설치

우리가 있기 때문에하는 것은 우리의 nginx 설치되어 있지 않은 경우, 배치 설치를 할 필요가 있으므로, 포획의 nginx 웹 서버, 그것은 권장 LNMP에게 키 설치 패키지를

우리는 hexo 배포 디렉토리 용으로 만들 수 있습니다, 예를 들어, 내가 만든 / 홈 / www /에서 hexo 폴더, 일반적으로 구성 파일에 / 홈 배포 디렉토리 / www /에서 hexo에서 구성 파일 nginx.conf의 nginx / USR / /의 nginx / conf의 레인 지역, 마찬가지로 가능한 기본 디렉토리를 사용하려면 기본 디렉토리가의 nginx은 / var / www /에서 HTML, LNMP가 키 설치 패키지를 사용하는 경우, 기본 디렉토리가 배포 / 홈 / wwwroot에 / 기본

설치 Node.js를

$ curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
$ apt-get install -y nodejs

문제가 발생하면 당신은 참조 할 수 있습니다 Node.js를 알리 클라우드 서버에 배포 Node.js를에 대한보다 자세한 단계는 내부

자식을 설치

$ apt-get install git

자식 사용자를 만들려면

$ sudo adduser git

현재 사용중인 단지 우리 자신의 창고가, 새 사용자 자식을 만들 수 있지만 필요하지 보이지만, 안전상의 이유로, 특히 자식 실행하는 데 별도의 사용자를 사용하는 것이 좋습니다
자식 서비스

인증서 로그인 추가

새로 위에서 언급 한 바와 같이 /home/git/.ssh/authorized_keys에 ~ / 스푸핑 / id_rsa.pub 파일 추가 파일 서버의 내용이며, 공개 키를 가지고있는 공개 키를 추가 로컬 또는 이미 생성 각 푸시 후 암호를 입력 방지 할 수있다. (* 직접 수행 할 수 있습니다 cat ~/.ssh/id_rsa.pub | pbcopy복사)

초기화 Git 저장소

사용자 정의 위치를 ​​넣을 수 있습니다 자식 저장소, 나는 /var/repo/blog.git 디렉토리에 넣어

$ sudo mkdir /var/repo
$ cd /var/repo
$ sudo git init --bare blog.git

우리는 베어 창고에서 작동하지 않는 --bare 매개 변수를 사용하여, 힘내 베어 창고를 만들고, 베어 창고 면적이 작동하지 않았다, 그것은 단지 공유에 존재한다.

구성 자식 후크

우리가 사용하는 현재 포스트 -받는 후크, 후크가 자식에 걸쳐 작업이 끝난 후 실행됩니다에 후크
내용의 세부 사항은 할 수 있습니다 여기에서 찾을 수 .

에 새 파일 만들기 blog.git / 후크 디렉토리를 포스트 - 수신

$ cd /var/repo/blog.git/hooks

이 파일을 편집

$ vim post-receive

기록 된 파일을 포스트받을 다음

#!/bin/sh
git --work-tree=/home/www/hexo --git-dir=/var/repo/blog.git checkout -f

참고 / 홈 / www /에서 hexo는 위에서 언급 한 바와 같이, 나는 디렉토리는 구성 / 홈 / www /에서 hexo의 생각, 자신의 카탈로그로 배포합니다. /var/repo/blog.git는 위치 자식 저장소이다. 위의 문장 자식 명령 우리는 누를 때마다, 주 블로그의 최신 세대에 배포 디렉토리 업데이트를 마친 후. 이것은 자동 배포의 목적을 달성하기 위해 수행됩니다.

실행 파일 권한을 설정

chmod +x post-receive

사용자가 소유자 변경 blog.git 자식 디렉토리

$ sudo chown -R git:git blog.git

안 자식 사용자의 로그인 쉘 권한

보안상의 이유로, 우리는 자식 사용자 로그인 쉘을 할 수 없습니다. 당신은 달성하기 위해 / etc / passwd에 편집 할 수 있습니다

vim /etc/passwd

의지

git:x:1001:1001:,,,:/home/git:/bin/bash

변화

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

이러한 방법으로 사용자는 자식 정상적인 사용의 자식을 ssh를 할 수 있지만, sehll 로그인 할 수 없습니다.

이 시점에서, 기본적으로 완성 된 서버 환경을 설정합니다.

_Config.yml 로컬 구성 파일, 완전 자동화 된 배포


지금의 구성 배포 hexo.

다음과 같이 개정, 배포를 찾기 위해 hexo 디렉토리에 _config.yml 수정 :

deploy:
type: git
repo: [email protected]:/var/repo/blog.git
branch: master

자신의 주소와 자식 저장소 디렉토리로의 repo 주소

이 시점에서, 우리는 자동으로 배포 hexo 좋은으로 구성되어

시작

새로운 기사 :

$ hexo new "post name"

발전 및 배포 :

$ hexo clean && hexo g && hexo d

참고

Hexo이 VPS에 설정 블로그, 배포 힘내를 사용
Hexo 블로그에 자신의 구축 알리 클라우드 VPS를
자동으로 개인에 Hexo를 배포 VPS 사용 힘내 후크를
사용하여 자식 후크 hexo 배포를 자동화 블로그했다

마지막으로, 최근 테마 Vateral hexo 개발 된 사용을 환영 보기 것은 데모 ~ 무엇을 지원하기 위해 스타 dalao처럼 경우

이 문서는 재현 원숭이 2048➩ https://www.mk2048.com/blog/blog.php?id=hac1k2ibhaa

추천

출처www.cnblogs.com/homehtml/p/12499632.html