Arch Linux下hexo博客搭建和阿里云服务器配置
Arch Linux下hexo博客的搭建与阿里云服务器
提示
与其说是一个教程,其实是搜集过来的一些文章。
前提条件
- 安装必须的依赖文件
1 | sudo pacman -S npm nodejs git |
使用node -v
和npm -v
检查是否安装成功
2. 使用npm安装hexo:
1 | npm install hexo-cli -g |
- 初始化hexo博客
1 | mkdir blog |
如果本地端口占用,使用hexo s -p 4567或任意端口进行即可
阿里云服务器
- 购买阿里云服务器,如果是新人或者是学生,可以薅羊毛,买个轻量云服务器,一年下来也就40来块钱,是叫做飞天计划
阿里云对于学生优惠还是很大的,抓紧薅羊毛
-
我这里购买的是轻量应用服务器,进入阿里云首页,点击控制台,然后添加自己的服务器类型:
-
点击进入服务器,然后记住服务器的公网IP,在服务器运维 中选择远程连接,设置自己的root密码。
轻量云服务器需要选择centos7系列,这个系列最容易配置,具体是在图片右边重置系统选择centos7系列里面的即可。
-
通过ssh远程连接:
1 | sudo pacman -S ssh # 另外的可以根据电脑类型选择合适的安装方法,这个是arch |
-
通过ssh远程连接之后,出现welcome to aliyun之类的字符串,就算是成功连接了。
-
安装并创建git用户
1 | yum install git |
- 添加账户权限
1 | chmod 740 /etc/sudoers |
进入之后查找:
1 | ## Allow root to run any commands anywhere |
在这段话之后添加:
1 | git ALL=(ALL) ALL |
保存退出:wq
,然后修改权限:
1 | chmod 400 /etc/sudoers |
设置git账户密码:
1 | sudo passwd git |
切换至git用户,创建~/.ssh文件夹和~/.ssh/authorized_keys文件,并且赋予权限:
1 | su git |
然后使用:
1 | ssh -v git@SERVER |
创建目录:
1 | #repo作为为Git仓库目录 |
创建裸git仓库:
1 | cd /var/repo |
创建一个新的 Git 钩子,用于自动部署 在 /var/repo/hexoBlog.git 下,有一个自动生成的 hooks 文件夹。我们需要在里边新建一个新的钩子文件 post-receive。
1 | vim /var/repo/hexoBlog.git/hooks/post-receive |
按 i 键进入文件的编辑模式,在该文件中添加两行代码(将下边的代码粘贴进去),指定 Git 的工作树(源代码)和 Git 目录(配置文件等)
1 | #!/bin/bash |
之后保存退出:wq
到这个时候就搭建完成了。
7. 云服务器配置Nginx
用宝塔面板来一键部署Nginx Linux面板6.0安装命令(暂时仅兼容Centos7.x,其它系统版本请安装5.9稳定版):
1 | yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh |
升级linux面板6.0
1 | curl http://download.bt.cn/install/update6.sh|bash |
安装完成后会显示面板后台地址·账号·密码。打开面板后台地址登陆面板,在应用里面搜索Nginx,静静等待部署。
部署完成,点击网站-添加站点-输入域名(没有域名的输入自己的IP地址)-底部的PHP版本选择”纯静态”-提交。
网站创建完成之后,点击Nginx的配置:
1 | server |
之后保存退出,
1 | service bt restart |
- 设置权限:
1 | chown -R git:git /var/repo/ |
- 退出云端
1 | # 因为是git用户,使用两次exit,root 只需要一次 |
本地配置
- git全局配置
1 | #定义邮箱(更换为你的邮箱地址就行) |
- 配置_config.yml
进入博客目录
1 | cd blog |
配置_config.yml,找到deploy
1 | deploy: |
保存,然后hexo一键三联
1 | hexo cl & hexo g & hexo d |
在你的IP地址之下查看…
hexo添加DCDN全站加速
- 将DCDN设置解析地址为全球,然后设置IP为服务器的IP,域名为".supbjt.top",同样的,在云解析dns中CNAME解析也要设置为.supbjt.top.
参考文献