HexoはアリクラウドECSに配備
7054 ワード
最初はGitHubにブログを構築していたが、ロード速度が遅すぎて我慢できなかったため、導入直後からブログのロードを加速させる方法を検討していた.GitHub+codingにブログの二重線を構築しようとしたが、速度がまだ理想的ではなく、他の方法が見つからないのでECSサーバーを買ってブログを構築し、Linuxを勉強した.阿里雲ECS Ubuntu 18.04 64ビット Git Hooks
ドメイン名(国内登録が必要) クラウドサーバECS
ドメイン名は国内のいくつかの大手クラウドサービス業者に行って購入することができて、例えば:万網
ドメイン名を購入した後、トップページに戻ってECS購入サーバーに入ります.
サーバーを購入してからドメイン名を登録することができ、提示に従って登録を完了して3~5日ほど待って、期間中にカスタマーサービスから電話で確認します.
Ubuntu 18.04 64ビットを選択し、後で変更できるのが好きではありません.
nvmはnodejsのバージョン管理ツールで、nodejsのバージョンの更新をすばやく切り替えることができます.前にnodeをインストールします.js時に直接インストールされたnodeに遭遇した.jsバージョンが低すぎるため、nvmを使用してインストールします.curlダウンロード:
wgetダウンロード:
以上のいずれもエラーを報告した場合は、
実行:
実行:
実行:adduser git、プロンプトに従ってパスワードを設定します.
実行:
次のものが見つかりました.
保存が終了したら、ファイルに戻る権限を変更します.
次のこともできます.
sshはサーバーに接続して、サーバーにログインして、サーバーに対して各種の操作を行って、これは通常とても安全ではありませんて、適切ではありませんて、私達は倉庫に対して操作することができるだけで、もっと大きい権限を必要としません.
gitユーザーshell権限を閉じて実行します.
最後の行の
注意:裸倉庫にはワークスペースがありません.サーバー上のGit倉庫は純粋に共有のためですから、ユーザーに直接サーバーにログインさせないでワークスペースを変更します.そして、サーバー上のGit倉庫は通常.gitエンディング.
ローカルの公開鍵をauthorized_にコピーします.keysファイル(公開鍵はcat~/.ssh/id_rsa.pub表示をローカルで実行し、実行できない場合は作成する必要があります).
注意:ログインする必要があるすべてのユーザーの公開鍵を収集するのは、彼ら自身のidです.rsa.pubファイルは、すべての公開鍵を/home/git/.にインポートする.ssh/authorized_keysファイルには、1行1つ.
ll/home/git/ll/var/www/
参照構成の変更:
保存終了後、nginxを起動します.
POSTの自動起動を設定するには、次の手順に従います.
実行ステータスの表示:
runningが正常に実行されたことを示します.
post-receiveファイルの作成
gitユーザーの下で実行します(ここでrootユーザーで上記のコマンドを実行し、ファイル所有者をgit.gitに変更しました):
次の内容をpost-receiveファイルにコピーします.
実行可能権限を付与:
Git Bashをローカルで開いてみます.
デフォルトのポートが22でない場合は、-pエンドのスローガンを追加する必要があります.
ローカルブログのルートを開く_config.ymlファイル、最後のdeploy構成を見つけて、次のように変更します.
HexoブログをVPSに配備
要求
ドメイン名の購入
ドメイン名は国内のいくつかの大手クラウドサービス業者に行って購入することができて、例えば:万網
ECS購入
ドメイン名を購入した後、トップページに戻ってECS購入サーバーに入ります.
登録ドメイン名
サーバーを購入してからドメイン名を登録することができ、提示に従って登録を完了して3~5日ほど待って、期間中にカスタマーサービスから電話で確認します.
サーバシステムのインストール
Ubuntu 18.04 64ビットを選択し、後で変更できるのが好きではありません.
nvmのインストール
nvmはnodejsのバージョン管理ツールで、nodejsのバージョンの更新をすばやく切り替えることができます.前にnodeをインストールします.js時に直接インストールされたnodeに遭遇した.jsバージョンが低すぎるため、nvmを使用してインストールします.curlダウンロード:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
wgetダウンロード:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
以上のいずれもエラーを報告した場合は、
yum
を使用して取り付けます.インストールNode.js
実行:
nvm install nginx
入力nginx -V
nginxバージョン情報が表示されると、インストールに成功します.インストールGit
実行:
yum install git
、完了後git --version
でGitバージョンを表示し、バージョン情報を表示するとインストールに成功したことを示します.gitユーザーの作成
実行:adduser git、プロンプトに従ってパスワードを設定します.
gitユーザーsudo権限の付与
実行:
chmod 740 /etc/sudoers
vim /etc/sudoers
次のものが見つかりました.
# User privilege specification
root ALL=(ALL:ALL) ALL
root ALL=(ALL:ALL) ALL
行の下にgit ALL=(ALL:ALL) ALL
を追加保存が終了したら、ファイルに戻る権限を変更します.
chmod 440 /etc/sudoers
gitユーザーshell権限を閉じる
次のこともできます.
ssh git@VPS IP
sshはサーバーに接続して、サーバーにログインして、サーバーに対して各種の操作を行って、これは通常とても安全ではありませんて、適切ではありませんて、私達は倉庫に対して操作することができるだけで、もっと大きい権限を必要としません.
gitユーザーshell権限を閉じて実行します.
vim /etc/passwd
最後の行の
git:x:1001:1001:,,,:/home/git:/bin/bash
をgit:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
に変更git倉庫の初期化
cd /home/git // git
mkdir blog.git // git , blog.git
cd blog.git //
git init --bare // --bare ,
注意:裸倉庫にはワークスペースがありません.サーバー上のGit倉庫は純粋に共有のためですから、ユーザーに直接サーバーにログインさせないでワークスペースを変更します.そして、サーバー上のGit倉庫は通常.gitエンディング.
Webサイトカタログの作成
cd /var/www/ //
mkdir blog // , blog
SSHの設定
cd /home/git // git
mkdir .ssh // .ssh
cd .ssh
vim authorized_keys
ローカルの公開鍵をauthorized_にコピーします.keysファイル(公開鍵はcat~/.ssh/id_rsa.pub表示をローカルで実行し、実行できない場合は作成する必要があります).
注意:ログインする必要があるすべてのユーザーの公開鍵を収集するのは、彼ら自身のidです.rsa.pubファイルは、すべての公開鍵を/home/git/.にインポートする.ssh/authorized_keysファイルには、1行1つ.
ユーザグループ管理
ll/home/git/ll/var/www/
blog.git
、.ssh、blog
ディレクトリのユーザー・グループ権限がgit:git
であることを確認し、そうでない場合は、次のコマンドを実行します.chown -R git.git /home/git/blog.git/
chown -R git.git /home/git/.ssh/
chown -R git.git /var/www/blog/
nginxの構成
cd /etc/nginx/sites-available //
cp default default.bak //
vim default //
参照構成の変更:
root /var/www/blog; //
server_name guchcx.fun, www.guchcx.fun; #
保存終了後、nginxを起動します.
systemctl start nginx
POSTの自動起動を設定するには、次の手順に従います.
systemctl enable nginx
実行ステータスの表示:
systemctl status nginx
runningが正常に実行されたことを示します.
Git Hooksの設定
post-receiveファイルの作成
su git
gitユーザーの下で実行します(ここでrootユーザーで上記のコマンドを実行し、ファイル所有者をgit.gitに変更しました):
cd /home/git/blog.git/hooks // hooks
vim post-receive //
次の内容をpost-receiveファイルにコピーします.
#!/bin/bash
echo "post-receive hook is running..."
GIT_REPO=/home/git/blog.git
TMP_GIT_CLONE=/tmp/blog
PUBLIC_WWW=/var/www/blog
rm -rf ${TMP_GIT_CLONE}
git clone $GIT_REPO $TMP_GIT_CLONE
rm -rf ${PUBLIC_WWW}/*
cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}
実行可能権限を付与:
chmod +x post-receive
ローカルアクション
Git Bashをローカルで開いてみます.
ssh git@VPS ip
デフォルトのポートが22でない場合は、-pエンドのスローガンを追加する必要があります.
ssh git@VPS ip -p 2022
Hexoの設定
ローカルブログのルートを開く_config.ymlファイル、最後のdeploy構成を見つけて、次のように変更します.
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
# repo: git@VPS IP:/~/blog.git #
# repo: ssh://git@VPS IP: /~/blog.git # ,
branch: master
参考記事:
HexoブログをVPSに配備