序文

ブログ ホスティング サービスでは十分ではないと思われる場合は、リソースを独自のクラウド サーバーに移行できます

ターゲット

  • hexo ブログ サイト環境のサーバー側展開
  • クライアントは記事を公開し、サーバーにプッシュします

環境を整える

サーバーサイドの必須ソフトウェア

  • Git
  • Nginx

クライアント必須のソフトウェア

  • Git
  • Node.js
  • hexo

サーバー構成 (Centos を例にします)

Nginx の yum インストールを容易にするために Epel ソースを追加します

Terminal window
wget https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm -ivh epel-release-7-11.noarch.rpm
yum clean all
yum makecache

gitとnginxをインストールする

Terminal window
yum install git nginx -y

Nginx ユーザーとグループを作成する

Terminal window
groupadd nginx
useradd -g nginx -s /sbin/nologin nginx

Nginx hexo サイト ファイル ディレクトリを作成する

Terminal window
mkdir -pv /webdata/www/hexo
chown -R nginx:nginx /webdata/www/hexo

Nginxの構成 設定ファイルのパス

Terminal window
vim /etc/nginx/nginx.conf

修正が必要なセクション

Terminal window
.....
server {
listen 80 default_server;
server_name www.example.com;
root /webdata/www/hexo;
index index.html index.htm;
}
.....

service nginx configtestを実行してnginx.confの構文が正しいか確認し、successを表示してからservice nginx restartを再起動します

Gitの設定 プライベート Git リポジトリを構築するためのファイル ディレクトリを作成する

Terminal window
mkdir -pv /data/repository

Git はベア ライブラリを初期化します

Terminal window
cd /data/repository
git init --bare hexo.git

Gitフックを作成する

Terminal window
vim /data/repository/hexo.git/hooks/post-receive

Nginx サイト ディレクトリと Git ウェアハウス アドレスを指定します

#!/bin/bash
git --work-tree=/webdata/www/hexo --git-dir=/data/repository/hexo.git checkout -f

保存して終了し、実行権限を追加します

Terminal window
chmod +x /data/repository/hexo.git/hooks/post-receive

クライアント構成

この記事では、ローカル仮想マシン Centos を例として取り上げ、他のプラットフォームを検索してインストール方法を確認してください。 Git と Nodejs をインストールする

Terminal window
yum install git nodejs -y

hexoをインストールする

Terminal window
npm install -g hexo-cli

hexo の初期化とインストール

Terminal window
mkdir -pv <folder> (/data/www/hexo)
hexo init <folder>
cd <folder>
npm install

hexo の詳細な設定については後ほど hexo ドキュメント を参照してください

ローカルクライアントとサーバー接続を構成する サイト構成ファイルを開く

Terminal window
vim /data/www/hexo/_config.yml

「デプロイメント」フィールドの設定

Terminal window
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: root@ドメイン名またはIP:/data/repository/hexo.git # SSHのデフォルトポート22
#repo: ssh://root@ドメイン名またはIP:port/data/repository/hexo.git # SSH デフォルト以外のポート 22
branch: master

公開するたびにパスワードを入力するのが面倒な場合は、クライアントとサーバーで RSA 認証を設定できます。わからない場合は、検索エンジンで見つけることができます。

Git メールボックスとユーザーを構成する 初めて Git に接続するときは、メール アドレスとユーザーを構成する必要があります

Terminal window
git config --global user.email "you@example.com"
git config --global user.name "Your Name"

ヘキソを配備する

ローカルで生成された静的ファイルをサーバーにデプロイする キャッシュをクリアする

Terminal window
hexo clean

静的ページを生成する

Terminal window
hexo generate

サーバーを起動します

Terminal window
hexo server # Web ページのデバッグに使用されますが、必要ありません

ローカル hexo ディレクトリ ファイルをサーバーにデプロイする ただし、その前にhexo-deployer-gitプラグインをインストールする必要があります

Terminal window
npm install hexo-deployer-git --save

次に、デプロイメントを実行します

Terminal window
hexo deploy

結論

たくさんの推奨事項を書いたように見えますが、実際には、ブログを展開する方が簡単です。