hexo 접근 속도 최적화 - hexo 를 클 라 우 드 호스트 VPS 에 배치

시작
처음에 자신의 hexogithub 에 배치 한 결과 페이지 를 여 는 속도 가 느 린 것 을 발견 한 다음 에 이 를 동시에 coding 에 배치 하여 이중 노선 방문 을 실현 했다. 국내 분석 기록 은 coding 에 달 했 고 외국 은 github 에 달 했다. 그러면 사이트 의 속도 가 많이 높 아 질 수 있 지만 국내 방문 은 coding 을 거 쳤 기 때문이다.그래서 사 이 트 를 열 면 광고 가 나 올 수 있다 는 점 은 용납 할 수 없다. 그래서 자신의 서버 도 아직 비어 있다 는 생각 에 자신의 서버 에 배치 할 수 있다 는 생각 에 실 랑 이 를 시작 했다.
배치 총람
  • 명 이 사용 하 는 환경
  • 현지 환경: Windows10 (64 위)
  • 클 라 우 드 호스트: 아 리 클 라 우 드 ECS (CentOS 7.2 64 위)
  • 전체 배치 과정
  • 현지 환경 구축 (git, NodeJs, hexo..)
  • 클 라 우 드 호스트 환경 구축 (git, Nginx)
  • 설정 분석 (dnspod)
  • git 자동화 배치 블 로그
  • 사용

    현지 환경 구축
  • 설치 git
  • 설치 hexo (이러한 절차 생략)
  • ssh 공개 키 생 성 (이전에 생 성 된 것 도 더 이상 실행 할 필요 가 없습니다. 예 를 들 어 github 에 rsa 키 를 입력 한 적 이 있 으 면 더 이상 진행 할 필요 가 없습니다)
  • 명령 행 단말기 에서 다음 명령 을 수행 합 니 다 ssh-keygen -t rsa -C " "
  • 생 성 된 파일 은 기본적으로 ~/.ssh 디 렉 터 리 에서 id_rsa, id_rsa.pub 이 파일 들 을 보면
  • 입 니 다.

    클 라 우 드 호스트 환경 구축
  • 설치 git 및 nodejs
    yum install git
    #  NodeJS
    curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
  • git 계 정 만 들 기
    adduser git
    chmod 740 /etc/sudoers
    vim /etc/sudoers
  • 추가 내용 찾기
    ## Allow root to run any commands anywhere
    root    ALL=(ALL)     ALL
  • 아래 내용 추가
    git ALL=(ALL) ALL
  • 종료 저장 및 변경 권한
    chmod 400 /etc/sudoers
  • git 계 정 비밀번호 설정
    sudo passwd git
  • 에서 git 사용자 로 전환 하여 ~/.ssh 폴 더 와 ~/.ssh/authorized_keys 파일 을 만 들 고 해당 하 는 권한 을 부여 합 니 다
    su git
    mkdir ~/.ssh
    vim ~/.ssh/authorized_keys
    #           cat ~/.ssh/id_rsa.pub | pbcopy ,        
    authorized_keys
    chmod 600 ~/.ssh/authorzied_keys
    chmod 700 ~/.ssh
  • 로 컬 단말기 에서 비밀 로그 인 면제 여 부 를 테스트 합 니 다 git ssh -v git@SERVER
  • 그 중에서 SERVER 은 자신의 클 라 우 드 호스트 를 작성 하기 위해 IP
  • 생 성 디 렉 터 리
    # repo    git    
    mkdir -R /var/repo
    # hexo        
    mkdir -R /var/www/hexo
  • 설정 nginx (물론 Apache 도 가능 합 니 다. nginx 의 설치 절 차 는 생략 합 니 다)
  • 먼저 ngixn -t 을 입력 하여 프로필 을 찾 습 니 다. 저 는 /etc/nginx/nginx.conf, SERVER
    server {
         listen       80;
         # server_name        
         server_name  www.fayne.cn;
         #   root          
         root         /var/www/hexo;
         index index.html index.php index.htm;
         #/usr/local/tomcat/webapps/Forum
    
         # Load configuration files for the default server block.
         include /etc/nginx/default.d/*.conf;
          location / {
         }
         location ~ .php$ {
         }
    
         error_page 404 /404.html;
             location = /40x.html {
         }
    
         error_page 500 502 503 504 /50x.html;
             location = /50x.html {
         }
    }
  • 을 설정 합 니 다.

    설정 해석
  • dnspod 에 분석 기록 을 설정 하고 A 기록 www 을 서버 IP 으로 분석 하 며 라인 의 기본 값
  • 을 분석 합 니 다.
  • 설정 CNAME 분석 으로 wwwxxx.github.io 으로 분석 하고 노선 을 외국 으로 분석 했다. 이곳 의 xxxhexo 으로 github 에 배 치 된 창고 이름 으로 외국 에서 의 방문 속도 도 매우 좋 은
  • 을 확보 했다.git 자동화 배치 블 로 그 를 사용 합 니 다.
    자동화 배 치 는 주로 git - hooks 동기 화 에 사용 되 었 다.
  • 서버 에 누 드 라 이브 러 리 를 만 들 려 면 git 사용자 로 로그 인하 여 git 사용자 가 창고 소유권
    su git
    cd /var/repo/
    git init --bare blog.git
  • 을 가지 도록 확보 해 야 합 니 다.
  • git - hooks 동기 화 사이트 루트 디 렉 터 리 를 사용 합 니 다.git 에서 송 수신 할 때 이 갈 고 리 를 호출 합 니 다. post-update 라 이브 러 리 의 post-receive 폴 더 에서
    vim /var/repo/blog.git/hooks/post-update
    #     ,      
    #!/bin/sh
    git --work-tree=/var/www/hexo --git-dir=/var/repo/blog.git checkout -f
    에 저장 한 후 이 파일 에 실행 가능 한 권한 을 부여 해 야 합 니 다
    chmod +x post-update
  • 배치 /var/repo/blog.git, 자동화 배 치 를 완성 하고 hooks 을 열 어 _config.yml
    deploy:
      type: git
      repo:
        github: [email protected]:Finhoo/Finhoo.github.io.git
        www: [email protected]:/var/repo/blog.git
      branch: master
  • 을 찾 았 습 니 다.
    저장 후 배 치 를 테스트 할 수 있 습 니 다.
    hexo clean && hexo g -d
  • 이로써 우 리 는 성공 적 으로 완성 되 었 고 자신의 서버 를 방문 하 는 것 이 _config.yml 을 방문 하 는 것 보다 훨씬 빠 르 며 외국 속도 도 매우 좋다
  • 흔 한 문제
    저 는 배치 과정 에서 deploy 을 실 행 했 는데 배치 가 항상 잘못 되 고 권한 이 허용 되 지 않 는 다 는 것 을 발 견 했 습 니 다. 여기 서 저 희 는 상기 git 작업 배치 에서 github 사용자 작업 을 사 용 했 는 지 확인 해 야 합 니 다. 없 으 면 해당 디 렉 터 리 에 사용자 그룹 을 변경 해 야 합 니 다. hexo d 이라는 명령 을 사용 하여 git 디 렉 터 리 와 하위 디 렉 터 리 사용자 그룹 을 재 귀적 으로 설정 해 야 합 니 다.chown -R git:git /var/repo/repo 으로 설정 하면 이런 문 제 를 해결 할 수 있다.
    참고 자료
    아 리 운 VPS 가 자신의 Hexo 블 로 그 를 만 들 었 습 니 다.

    좋은 웹페이지 즐겨찾기