hexo部署到阿里云

来源:互联网 发布:有人在淘宝买过鹿肉吗 编辑:程序博客网 时间:2024/06/04 22:12

hexo部署到阿里云

因为最近工信部在查空壳备案,我有点懒,怕再次备案,正好因为之前的服务器是放在韩国的aws上,响应有点慢,正好趁着这个机会,迁回来。本来是不想写这个blog的,因为我本来就写了一篇部署到aws上的bloghexo部署到aws。但是无奈阿里云和aws还是有很多区别的。因此还是记录下来。

区别

登录服务器

这个什么新用户免费使用一年的云服务器就不说了。在aws上登录服务器是不使用密码的,而是默认使用公私钥的。aws会给你一个私钥文件,然后通过:

ssh -i xxx.pem ec2-user@hsulei.com

这样我就可以免输入 密码就可以登录云服务器了,安全性比较高,相比asw而言,阿里云一开始还是使用密码登录,只有等登录了云服务器后,在root用户下面创建.ssh文件,然后在.ssh文件中创建authorized_keys文件,然后把自己生成的公私钥中的公钥内容写到这个文件中,并且需要修改权限成0700,我的公私钥是在mac上生成的,在mac和Ubuntu上能够直接使用登录云服务器。

ssh root@hsulei.com

能够这样登录,需要生成的公私钥文件分别为id_res.pubid_res ,并且这两个文件要存在于本地电脑用户的.ssh文件。在window上就比较奇怪。我直接使用这两个公私钥不能直接登录我的阿里云服务器。依然要我输入密码。通过googl发现对于公私钥我需要赋予不同的权限 ,公钥的权限是0644 ,私钥的权限是0600,这样我就能在window上使用ssh命令登录了。

用户权限

在阿里云上直接是root用户,而在aws上是ec2-user用户。这都是小问题。我重新跟着之前的那篇blog搭建云上环境,创建git用户,初始化git仓库,编写post-receive hook文件 ,但是在使用sudo chmod 775 -R /var/www/hexo 的时候,出现git is not in the sudoers file ,通过切换到root用户后修改/etc/sudoers,在修改之前需要赋予/etc/sudoers 文件0600的权限,然root用户可以对其修改。然后在:

root    ALL=(ALL)     ALL

后面添加

git    ALL=(ALL)     ALL

这样就没有问题了。但是当我在本地运行hexo -d命令后,上传失败,显示权限问题。顿时就懵逼了。因为当时已经凌晨了。想赶紧迁移完就去睡觉了,然后就想我直接在root用户下做操作就应该没有什么权限问题之类的吧。然后,就使用root用户重新操作了一遍。(这时我使用的私钥是没有密码的,因为不知道在hexo的配置中如何配置,没有密码也没有什么问题,反正没人会用我的云服务器)。直接使用hexo d ,chrome打开自己的网站,恩,可以看见内容了。就去休息了。但是就在后一天,因为要上传一个新的blog,在本地看输出发现这个blog的内容已经生成了。但是无论网页如何刷新,就是没有这个内容显示。又是一个懵逼。什么鬼。一直怀疑是否是git上传出了了问题,然后通过google搜到这篇文章阿里云VPS搭建自己的的Hexo博客,按照他写的post-receive 重新修改了之前的内容。再次hexo d ,刷新自己的网页,发现新的blog已经出现了。恩,到此就结束了。

一些说明

如果你也看见到了这篇文章。

  1. 千万不要学我直接使用root做git操作,还是创建git用户。在git用户中进行git操作。
  2. 我使用nginx,nginx中关于如何配置ssh可以看imququ的这盘文章:本博客 Nginx 配置之完整篇
0 1
原创粉丝点击