hexo博客上华为云

hexo博客上华为云

今天在牛客划水,看见华为云与牛客搞了一个买服务器的活动,然后,果断入手。

配置如下
因为之前用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网站

全部评论
为时已晚的时候,恰恰是最早的时候!
点赞 回复 分享
发布于 2020-02-11 16:41

相关推荐

点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
正在热议
更多
# 听劝,这个简历怎么改 #
14081次浏览 182人参与
# 面试被问“你的缺点是什么?”怎么答 #
6309次浏览 98人参与
# 水滴春招 #
16255次浏览 346人参与
# 入职第四天,心情怎么样 #
11280次浏览 63人参与
# 租房找室友 #
8005次浏览 53人参与
# 读研or工作,哪个性价比更高? #
26151次浏览 356人参与
# 职场新人生存指南 #
199185次浏览 5509人参与
# 参加完秋招的机械人,还参加春招吗? #
26960次浏览 276人参与
# 文科生还参加今年的春招吗 #
4101次浏览 31人参与
# 简历无回复,你会继续海投还是优化再投? #
48619次浏览 561人参与
# 你见过最离谱的招聘要求是什么? #
144708次浏览 829人参与
# 如果重来一次你还会读研吗 #
155714次浏览 1706人参与
# 机械人选offer,最看重什么? #
69076次浏览 449人参与
# 选择和努力,哪个更重要? #
44269次浏览 492人参与
# 如果再来一次,你还会学硬件吗 #
103643次浏览 1245人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
20519次浏览 413人参与
# 招聘要求与实际实习内容不符怎么办 #
46703次浏览 494人参与
# 22届毕业,是读研还是拿外包offer先苟着 #
4652次浏览 27人参与
# 你们的毕业论文什么进度了 #
901211次浏览 8960人参与
# 软开人,你觉得应届生多少薪资才算合理? #
81371次浏览 496人参与
# 国企还是互联网,你怎么选? #
109189次浏览 853人参与
牛客网
牛客企业服务