hexo博客上华为云

举报
yookbu 发表于 2020/02/09 21:27:43 2020/02/09
【摘要】 hexo博客上华为云今天在牛客划水,看见华为云与牛客搞了一个买服务器返现的活动,买一年99反90,四舍五入等于不要钱,然后,果断入手。配置如下 因为之前用hexo搭了博客并部署在了GitHub上,访问就有点慢,所以现在把博客迁移过去就可以了服务器端web环境搭建1:本地ssh连接服务器先确认安全组是否配置得当打开华为云控制台,左边导航栏找到访问控制,点击,选择安全组,没有特殊需求,直接配置S...

hexo博客上华为云

今天在牛客划水,看见华为云与牛客搞了一个买服务器返现的活动,买一年99反90,四舍五入等于不要钱,然后,果断入手。

配置如下 因为之前用hexo搭了博客并部署在了GitHub上,访问就有点慢,所以现在把博客迁移过去就可以了

服务器端web环境搭建

1:本地ssh连接服务器

先确认安全组是否配置得当

打开华为云控制台,左边导航栏找到访问控制,点击,选择安全组,没有特殊需求,直接配置Sys-default即可,
 本地安装上ssh工具,我用的Finalshell(没有工具的话,点击即可下载)

主机出输入云主机的弹性公网ip,可用用户名加密码登陆

2:服务器配置web环境

2.1  node js 安装
#如果没有yum,输入apt -get install yum
yum -y install nodejs
#输入node -v
root@ecs-sn3-medium-2-linux-20200203153603:~# node -v
v8.10.0   #显示版本号即为正常
2.2  安装git和nginx
#git做版本控制,Nginx做博客托管
yum install git nginx -y
2.3  安装hexo
#安装node js 后,可以使用npm包管理器
npm install hexo-cli hexo-server -g
#验证
hexo

3:服务器创建Git环境

3.1 创建git用户

创建用户:adduser git

设置密码:passwd git

3,2 配置公钥

切换到git用户:su git

创建.ssh目录: mkdir .ssh && chmod 700 .ssh

创建 authorized_keys公钥保存文件:touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

打开本地的id_rsa.pub文件,复制内容,(路径C:\Users\your name\.ssh)

若没有该文件,则生成即可,打开.ssh文件夹,在此打开git,输入ssh-keygen -t rsa -C "youremail@example.com"

打开服务器端刚刚创建的authorized_keys``文件:vim authorized_keys

粘贴本地的公钥到authorized_keys后,按Esc退出insert模式,输入:wq!保存并退出

3.3  创建git仓库

创建一个git仓库,名字叫blog(名字随便起)

mkdir /var/repo
cd /var/repo
git init --bare blog.git
3.4  配置GIT HOOKS
vim /var/repo/blog.git/hooks/post-receive
#!/bin/sh
git --work-tree=/var/www/hexo --git-dir=/var/repo/blog.git checkout -f
chmod +x /var/repo/blog.git/hooks/post-receive #设置权限
3.5 把blog的拥有者变更为git
chown -R git:git blog.git
3.6 创建博客目录

创建静态文件目录(文章网页):mkdir /var/www/hexo

链接git仓库:chown -R git:git /var/www/hexo

配置权限:chmod -R 755 /var/www/hexo

这样git仓库更新便会自动同步到hexo目录下

3.7 禁用git用户的shell登陆权限(安全考虑)

判断git-shell 是否在/etc/shell文件中

使用which git-shell,如果安装了,则返回git-shell安装目录,若未安装,则 yum install git 安装

判断shells文件是否存在,判断命令:cat /etc/shells 如果文件不存在或没有/usr/bin/git-shell 则需要使用vim增加这个路径: sudo vim /etc/shells

# /etc/shells: valid login shells ##在最后一行添加git-shell路径

如图输出结果最后一行有git-shell,即为成功
 现在我们修改第一步中创建的git用户的登录权限,禁止git用户使用shell权限: 终端中输入sudo chsh git

然后在Login Shell [/bin/bash]: 后输入git-shell路径/usr/bin/git-shell

修改完成后验证: vim /etc/passwd找到类似git:x:1000:1000:,,,:/home/git:/usr/bin/git-shell,看看git用户是否是以git-shell结尾

这样,git用户就只能使用SSH连接对Git仓库进行推送和拉取操作,而不能登录机器并取得普通shell命令

3.8 测试

测试git服务器是否部署成功,在本地,使用git运行clone操作 git clone git@服务器ip:/var/repo/blog.git  

4:hexo配置

打开本地的hexo博客目录,编辑主题配置文件 _config.yml

修改repository为:

deploy:
 type: git
 repository: git@ip或域名:/var/repo/blog.git
 branch: master

然后执行hexo g  -d,上传本地文件到服务器

5:nginx配置

修改Nginx的default设置

ubuntu

vim /etc/nginx/sites-available/default

centos

vim /etc/nginx/conf.d/blog.conf

将nginx的root指令指向博客目录(配置git钩子目录)

server {
   listen 80;
   listen [::]:80;
   root /var/www/hexo; # 修改为博客目录
   server_name laoyuyu.me www.laoyuyu.me; # 如果需要改域名访问,修改server_name 为域名便可,多个用空格隔开
   location / {
           # First attempt to serve request as file, then
           # as directory, then fall back to displaying a 404.
           try_files $uri $uri/ =404;
  }
}

重启nginx服务器使更改生效

service nginx restart

至此,网站已经可以在云上运行了。

#我部署在华为云上的个人hexo网站


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200