阿里云Centos7+Nginx+Window部署Hexo静态博客
前言 之前在服务器用WordPoress,Eblog程序搭建过个人博客,因为平时也不写什么,导致服务器过期也没续费。这次我又续费了3年的阿里云学生机,续费后第一个想到的就是重新搭建一个自己的博客,考虑到学生机只有1M的带宽,我特意上网查了下静态的博客程序,最后选择了Hexo来部署我的博客,域名ali6.cn是早期买的。 部署总览 个人使用的环境 本地环境: Windows10(64位)云主机:阿里云ECS(CentOS 7.3 64位) 整个部署过程 本地环境搭建(Git,NodeJs,Hexo)云主机环境搭建(Git,Nginx) 使用git自动化部署博客 开始部署 本地Win10搭建环境 在Win10桌面右击,点击Git Bash Here打开命令行终端,执行如下命令(直接按三次回车生成密钥) ssh-keygen -t rsa 生成的文件默认在~/.ssh目录中,看到有id_rsa,id_rsa.pub这些文件即可,Win10中就是 我的电脑/C盘/用户/你自己的用户名/.shh/ 就可以看到了 阿里云Centos搭建环境 安装git yum install git 创建Git账户 添加账户权限 阿里云Centos配置Nginx 为了适合小白安装部署和后期网站服务器的扩展性,选用宝塔面板来一键部署NginxLinux面板6.0安装命令(暂时仅兼容Centos7.x,其它系统版本请安装5.9稳定版): yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh Linux面板6.0升级专业版 curl http://download.bt.cn/install/update6.sh|bash 安装完成后会显示面板后台地址·账号·密码。打开面板后台地址登陆面板,选择Nginx的部署方案,静静等待部署。部署完成,点击网站-添加站点-输入域名(没有域名的输入自己的IP地址)-底部的PHP版本选择”纯静态”(其他不改或者根据自己的习惯来改)-提交。网站创建完成后点击设置-配置文件 server { listen 80; # server_name 填写自己的域名 server_name ali6.cn blog.ali6.cn; index index.php index.html index.htm default.php default.htm default.html; # 这里root填写自己的网站根目录,修改为/var/www/hexo root /var/www/hexo; -保存 点击设置-网站目录,修改为/var/www/hexo ,保存 重启宝塔面板服务 service bt restart 本地win10安装部署Hexo 我部署在D:/blog 中,你根据自己的习惯定义部署位置,不建议C盘,避免系统损坏后导致文件丢失。打开D盘,新建blog文件夹,打开blog文件夹,按住Shift键右击鼠标,点击”在此处打开CMD窗口”。执行如下命令 npm install hexo-cli -g hexo init npm install hexo server npm install hexo-deployer-git --save #定义邮箱(更换为你的邮箱地址就行) git config --global user.email "you@example.com" #定义名称(更换自定义一个名称就行) git config --global user.name "Your Name" 配置_config.yml,完成自动化部署打开D盘,blog文件夹,打开blog文件夹,打开_config.yml, 找到deploy deploy: type: git #server改为你的服务IP地址或解析后的域名 #例如我改为repo: git@ali6.cn:/var/repo/blog.git repo: git@server:/var/repo/blog.git branch: master 保存后,即可测试部署 打开D盘,blog文件夹,按住Shift键右击鼠标,点击”在此处打开CMD窗口”执行如下命令 hexo clean hexo g -d 不出错显绿说明完成,打开浏览器输入你的域名或ip地址就可以看到你部署的Hexo博客了。至此,我们已经成功部完成,并且访问自己的服务器端比访问github快多了,国外速度也是很好。 常见问题 我在部署过程中,执行 hexo d发现部署老是出错,什么权限不允许之类的,这里我们需要检查我们在上述的git操作部署是否使用了git用户操作,若是没有,需要给相应的目录更改用户组使用 chown -R git:git /var/repo/ 这条命令递归的将repo目录及其子目录用户组设置为git。同时使用 chown -R git:git /var/www/hexo 这样即可解决此类问题 原文:https://www.jianshu.com/p/0f9dfa9c141b