原文地址:带你跳过各类坑,一次性把 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
复制代码
本人前端新手一枚,有错误的话欢迎指正
贴上 我的网站,建站初期,欢迎您的光临~
喜欢的话麻烦给个 ★ 哦