阿里云使用宝塔面板部署Hexo
阿里云使用宝塔面板部署Hexo
先前一直只是简单的 用nginx加git部署hexo,但是由于nginx是在安装zabbix时一块儿安装的,nginx找不到安装路径,于是打算从新在阿里云上安装宝塔,再通过宝塔安装 nginx,部署hexo。
安装宝塔
一行命令安装宝塔(真香)
1 | yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh |
输入y,并回车。接下来便是等待宝塔面板进行安装。
安装后会显示自动生成的账号密码:类似如下
安装完后登录宝塔,首次登陆会提示我们安装环境,我们勾选左侧包含Nginx的即可。其他的也可以顺带安装好mysql与php。
git部署
我们在home文件夹下
新建两个文件夹git,hexo
1 | cd .. //这里是因为默认执行目录是root,需要返回根目录 |
此时显示一行
1 | Initialized empty Git repository in /home/hexoBlog.git/ |
代表我们的git储存库已经创建成功。
然后 在目录 /home/git/hexoBlog.git/hooks
下
新建文件post-receive
1 | cd /home/git/hexoBlog.git/hooks |
写入以下代码:
1 | !/bin/bash |
给post-receive权限
1 | chmod +x /home/git/hexoBlog.git/hooks/post-receive |
配置Nginx
宝塔面板默认的nginx配置文件在/www/server/nginx/conf下这里我们通过 include 的方式导入博客 ;
在vhost文件夹下
新建文件blog.conf
1 | vim blog.conf |
文件内容为
1 | server{ |
修改nginx.conf
在http下使用include添加刚才的blog.conf文件;
1 | include /www/server/nginx/conf/vhost/*.conf; |
重启Nginx服务
1 | service nginx restart |
本地Hexo配置
按照这个格式配置,如果你只推送到aliyun就配置那一行就行了,推送到多个平台务必按照以下格式进行填写(注意缩进)
1 | deploy: |
然后本地运行命令
1 | hexo d |
后输入密码即可将本地的文件推到阿里云了
git报错
报错码 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
由于阿里云初始化了系统磁盘,所以git本地在推送时 会出现一个报错
1 | WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! |
出现原因
更换系统后,需要重新匹配远程服务器信息。
解决方案
把**/c/Users/Daemon/.ssh/known_hosts** 文件中(服务器)地址ip的公钥删除,再次输入密码推送就可以了。
错误码 OpenSSL SSL_read: Connection was reset, errno 10054
重新生成公钥
1 | ssh-keygen -t rsa -C "your github 注册邮箱" |
此时公钥保存在 C:\Users\ .ssh 的文件夹下,打开id_rsa.pub文件,将里面的内容全部复制; 然后去GitHub的Settings, 找到SSH and GPG keys的页面, 新建一个SSH Key, 将刚才复制的内容粘贴到新建的SSH Key中并点击保存。
保存后输入以下代码检测SSH Key生效
1 | ssh git@github.com |
服务器更换端口
config中 git url 改为
site: ssh://root@8.129.84.9:520/home/git/hexoBlog