阿里云Centos7+Nginx+Window部署Hexo静态博客

简介: 前言之前在服务器用WordPoress,Eblog程序搭建过个人博客,因为平时也不写什么,导致服务器过期也没续费。这次我又续费了3年的阿里云学生机,续费后第一个想到的就是重新搭建一个自己的博客,考虑到学生机只有1M的带宽,我特意上网查了下静态的博客程序,最后选择了Hexo来部署我的博客,域名ali6.cn是早期买的。

前言

之前在服务器用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
AI 代码解读

生成的文件默认在~/.ssh目录中,看到有id_rsa,id_rsa.pub这些文件即可,
Win10中就是 我的电脑/C盘/用户/你自己的用户名/.shh/ 就可以看到了

阿里云Centos搭建环境

安装git

yum install git
AI 代码解读

创建Git账户

添加账户权限

阿里云Centos配置Nginx

为了适合小白安装部署和后期网站服务器的扩展性,选用宝塔面板来一键部署Nginx
Linux面板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
AI 代码解读

Linux面板6.0升级专业版

curl http://download.bt.cn/install/update6.sh|bash
AI 代码解读

安装完成后会显示面板后台地址·账号·密码。打开面板后台地址登陆面板,选择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;
AI 代码解读

-保存

点击设置-网站目录,修改为/var/www/hexo ,保存

重启宝塔面板服务

service bt restart
AI 代码解读

本地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"
AI 代码解读

配置_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
AI 代码解读

保存后,即可测试部署

打开D盘,blog文件夹,按住Shift键右击鼠标,点击”在此处打开CMD窗口”
执行如下命令

hexo clean 
hexo g -d
AI 代码解读

不出错显绿说明完成,打开浏览器输入你的域名或ip地址就可以看到你部署的Hexo博客了。
至此,我们已经成功部完成,并且访问自己的服务器端比访问github快多了,国外速度也是很好。

常见问题

我在部署过程中,执行 hexo d发现部署老是出错,什么权限不允许之类的,这里我们需要检查我们在上述的git操作部署是否使用了git用户操作,若是没有,需要给相应的目录更改用户组
使用


chown -R git:git /var/repo/
AI 代码解读

这条命令递归的将repo目录及其子目录用户组设置为git。
同时使用


chown -R git:git /var/www/hexo
AI 代码解读

这样即可解决此类问题

原文:https://www.jianshu.com/p/0f9dfa9c141b

目录
打赏
0
0
0
0
216
分享
相关文章
快速部署 Nginx 社区版
Nginx是一个高性能的HTTP和反向代理服务器。Nginx在计算巢上提供了社区版服务,您无需自行配置云主机,即可在计算巢上快速部署Nginx服务、实现运维监控,从而方便地基于Nginx搭建您自己的应用。本文介绍使用如何通过计算巢快速部署Nginx社区版。
快速部署 Nginx 社区版
阿里云操作系统迁移最佳实践|飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是阿里云操作系统迁移最佳实践,Alibaba Cloud Linux /Anolis OS 兼容 CentOS 生态,因此能够很丝滑的进行迁移替换。无论是对企业的运维人员,还是对企业操作系统的使用者来说,相对简化了它的维护成本。通过 SMC 操作系统迁移实践带用户深入了解,不仅阐述了原地迁移方案的独特优势,还针对不同的迁移场景,逐步剖析了整个迁移流程,力求使复杂的操作变得直观易懂,实现了真正的“白屏化”体验。 1. CentOS 迁移背景 2. 操作系统迁移实践 3. 迁移故障处理
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
301 13
龙蜥社区及阿里云CentOS迁移方案|飞天技术沙龙-CentOS 迁移替换专场
本次分享的主题是龙蜥社区及阿里云 CentOS 迁移方案|飞天技术沙龙- CentOS 迁移替换专场,由阿里云产品专家周絮分享。主要分为三个部分: 1.背景介绍 2.方案选型 3.迁移支持
nginx部署vue项目
本文介绍了将Vue项目部署到Nginx的步骤,包括构建Vue项目、上传dist文件夹到服务器、安装Nginx、配置Nginx代理静态文件以及重启Nginx,确保了Vue应用可以通过域名或IP地址访问。
313 1
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
1855 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
k8s基础使用--使用k8s部署nginx服务
本文介绍了Kubernetes中核心概念Deployment、Pod与Service的基本原理及应用。Pod作为最小调度单元,用于管理容器及其共享资源;Deployment则负责控制Pod副本数量,确保其符合预期状态;Service通过标签选择器实现Pod服务的负载均衡与暴露。此外,还提供了具体操作步骤,如通过`kubectl`命令创建Deployment和Service,以及如何验证其功能。实验环境包括一台master节点和两台worker节点,均已部署k8s-1.27。
410 1
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo