原文地址:帶你跳過各類坑,一次性把 Hexo 博客部署到本身的服務器前端
完成效果:點擊查看我的網站node
node
下載 官網下載,能夠的話推薦使用 nvm
安裝linux
安裝記得把目錄改到其餘盤,這裏我具體是在 D:\programming\nodejs
nginx
打開cmd
查看node
安裝狀況git
node -v
npm -v
複製代碼
進入安裝目錄,建立文件夾node_global
和node_cache
並執行github
npm config set prefix "D:\programming\nodejs\node_global"
npm config set cache "D:\programming\nodejs\node_cache"
複製代碼
環境配置:新增環境變量NODE_PATH
和添加Path
,兩個值都爲 D:\programming\nodejs\node_global
shell
hexo-cli
npm i hexo-cli -g
hexo
複製代碼
若是顯示下面狀況,恭喜你成功全局模塊調用npm
若是出現命令未找到,或不是可執行程序
,彆着急!先仔細重複 3-4 步,通常是可以給解決的,若是實在是不能解決,日後看json
隨便找個地方初始化文件,執行以下命令:swift
mkdir hexo-blog
cd hexo-blog && npm init -y
複製代碼
如今有 3 種解決方法,任選其一
hexo
模塊,執行以下命令:D:\programming\nodejs\node_global\hexo
複製代碼
link
命令連接npm link hexo
複製代碼
package.json 中新建腳本以下
npm run hexo
複製代碼
hexo-blog
中下載npm i hexo-cli
npm run hexo (仍是要在package.json中新建腳本)
複製代碼
hexo
項目hexo-blog
文件下初始化hexo init myblog && cd myblog
npm i
複製代碼
git clone https://github.com/iissnan/hexo-theme-next themes/next
複製代碼
在本地配置文件中設置theme
屬性
hexo
項目,添加start
腳本npm start
複製代碼
打開 http://localhost:4000 驗證效果吧
git
環境搭建git
安裝:官網下載
生成ssh
認證,執行以下命令
git config --global user.name "yourname"
git config --global user.email youremail@example.com
ssh-keygen -t rsa -C "youremail@example.com"
git config --global core.autocrlf false // 禁用自動轉換,這個不設置後面上傳時會出現警告,以下
複製代碼
最後獲取到的ssh
認證在C:\Users\yourname\.ssh
中
Git
私庫登陸到遠程服務器,推薦使用Xshell 5
安裝 git
git --version // 如無,則安裝
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
yum install -y git
複製代碼
useradd git
passwd git // 設置密碼
su git // 這步很重要,不切換用戶後面會很麻煩
cd /home/git/
mkdir -p projects/blog // 項目存在的真實目錄
mkdir repos && cd repos
git init --bare blog.git // 建立一個裸露的倉庫
cd blog.git/hooks
vi post-receive // 建立 hook 鉤子函數,輸入了內容以下
複製代碼
#!/bin/sh
git --work-tree=/home/git/projects/blog --git-dir=/home/git/repos/blog.git checkout -f
複製代碼
添加完畢後修改權限
chmod +x post-receive
exit // 退出到 root 登陸
chown -R git:git /home/git/repos/blog.git // 添加權限
複製代碼
git倉庫
是否可用,另找空白文件夾git clone git@server_ip:/home/git/repos/blog.git
複製代碼
若是能把空倉庫拉下來,就說明 git 倉庫搭建成功了
ssh
信任關係,在本地電腦ssh-copy-id -i C:/Users/yourname/.ssh/id_rsa.pub git@server_ip
ssh git@server_ip // 測試可否登陸
複製代碼
注:此時的 ssh 登陸 git 用戶不須要密碼!不然就有錯,請仔細重複步驟 3-5
cat /etc/shells // 查看 git-shell 是否在登陸方式裏面
which git-shell // 查看是否安裝
vi /etc/shells
添加上2步顯示出來的路勁,一般在 /usr/bin/git-shell
複製代碼
修改/etc/passwd
中的權限
// 將原來的
git:x:1000:1000::/home/git:/bin/bash
// 修改成
git:x:1000:1000:,,,:/home/git:/usr/bin/git-shell
複製代碼
nginx
服務器nginx
cd /usr/local/src
wget http://nginx.org/download/nginx-1.15.2.tar.gz
tar xzvf nginx-1.15.2.tar.gz
cd nginx-1.15.2
./configure // 若是後面還想要配置 SSL 協議,就執行後面一句!
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module
make && make install
alias nginx='/usr/local/nginx/sbin/nginx' // 爲 nginx 取別名,後面可直接用
複製代碼
nginx
文件先啓動是否安裝成功
nginx // 直接來!瀏覽器查看 server_ip,默認是 80 端口
複製代碼
修改配置文件
nginx -s stop // 先中止nginx
cd /usr/local/nginx/conf
vi nginx.conf
修改 root 解析路徑,以下圖
同時將 user 改成 root 以下圖,否則nginx沒法訪問 /home/git/project/blog
nginx -s reload
複製代碼
至此咱們就把本地和服務器的環境所有搭建完成,如今利用 hexo 配置文件進行連接
_config.yml
文件"scripts": {
"deploy": "hexo clean && hexo g -d",
"start": "hexo clean && hexo g && hexo s"
},
複製代碼
npm start
,調試好了就上傳到服務器,美滋滋~快經過你的服務器 ip 訪問吧npm run deploy
複製代碼
本人前端新手一枚,有錯誤的話歡迎指正
貼上 我的網站,建站初期,歡迎您的光臨~
喜歡的話麻煩給個 ★ 哦