专栏首页项勇个人网站转到云服务器上

个人网站转到云服务器上

硬件

  • 电脑一台,这个管够
  • 域名一个,freeyouth.cn
  • 服务器一台,原则:哪家便宜买哪家

所需环境

  • 客户端
  • Git
  • Node
  • hexo-cli
  • 服务器
  • Nginx
  • Git

步骤

一、客户端Git、Node的安装以及hexo的搭建

点击跳转

二、服务器端Git、Nginx的安装

用命令yum install -y nginx git安装git,安装完后分别输入git --version、nginx -v,出现相应#版本号即为安装成功。### 三、服务器Nginx的配置 在根目录创建博客站点的文件,并更改文件权限

mkdir -p /data/www/hexo
chmod -R 777 /data/www/hexo

添加 index.html 用于检测配置 Nginx 是否成功

vim /data/www/hexo/index.html

添加代码如下

<!DOCTYPE html><html>
  <head>
    <title></title>
    <meta charset="UTF-8">
  </head>
  <body>
    <p>Hello world!</p>
  </body></html>

修改nginx.conf配置文件

vim /etc/nginx/nginx.conf

在http下添加server模块

server {
        listen       80; //nginx 默认80端口
        server_name  www.xxx;
        root         /data/www/hexo;
    }

开启nginx服务

systemctl  start nginx

浏览器访问域名,查看能否正常访问index.html内容 若每次更改nginx配置,可输入命令nginx -s reload,让配置生效 一定要在服务器的安全组规则中添加80端口,否则不会有任何输出

四、服务器Git的配置

增加git用户,并授予相应权限

adduser git
chmod 740 /etc/sudoers
vim /etc/sudoers

找到

root ALL=(ALL) ALL

在下面添加一行

git ALL=(ALL) ALL
sudo passwd git

五、Git仓库设置

切换到git用户,然后再服务器上初始化一个git裸库

su git
cd ~
git init --bare blog.git

接着新建一个post-receive文件

vim ~/blog.git/hooks/post-receive

在文件中输入

#!/bin/sh
git --work-tree=/data/www/hexo --git-dir=/home/git/blog.git checkout -f

保存退出后再赋予该文件执行权限

chmod +x ~/blog.git/hooks/post-receive

六、设置SSH,实现客户端免密登陆Git

切换为git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并赋予相应的权限

su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys

然后将客户端.ssh文件夹下的idrsa.pub文件里的内容复制到authorizedkeys中,接着赋予相应的权限

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

查看客户端.ssh文件夹下的id_rsa.pub 打开gitbash,执行以下命令,复制里面内容即可

cd ~/.ssh
ls
cat id_rsa.pub

七、hexo文件配置修改

到此只需要把hexo build后的文件发布到服务器就阔以啦~ 打开hexo的_config.yml文件,拉到最底处,补充deploy的内容

deploy:
  type: git
  repository: git@ip:/home/git/blog.git #Git仓库地址,:符号后为Git仓库服务器路径
  branch: master #分支,由于我们只用Git进行发布,master即可。

然后我们在终端执行

hexo clean
hexo g
hexo d

如遇报错

ERROR Deployer not found: git

安装hexo-deployer-git

npm install hexo-deployer-git -–save

博客文件就会上传到我们在服务器上的git仓库,然后再部署到我们创建的博客根目录。在浏览器中访问服务器地址,已经可以看到网站。

八、域名解析

登陆我的腾讯云平台,更改记录值为云服务器的外网ip即可。输入freeyouth.cn即可跳转到自己的网站了,访问速度比在GitHub里提升了几个档次。参照 https://www.jianshu.com/p/86e80be14d8f

本文分享自微信公众号 - 项勇(looseyouth_com)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Baozi Training Leetcode solution 133: Clone Graph

    Blogger: https://blog.baozitraining.org/2019/11/leetcode-solution-133-clone-grap...

    包子面试培训
  • 浅谈前端测试

    顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscr...

    小老鼠
  • 关于 Promise 的 9 个面试题[每日前端夜话0xFB]

    我们使用构造函数方法创建一个 Promise,并通过 reject 回调立即触发错误。

    疯狂的技术宅
  • 我花了10个小时,写出了这篇K8S架构解析

    互联网技术飞速发展的今天,为了承载请求的高并发和业务的多样性,微服务的架构成了各个公司的标配。

    马哥linux运维
  • 康威生命游戏的Python实现

    规则1:当周围的邻居细胞低于两个(不包含两个)存活时,该细胞变成死亡状态(模拟生命数量稀少)。

    小老鼠
  • python 访问者模式

    这里遇到的问题在编程领域中是很普遍的,有时候会构建一个由大量不同对象组成的数据结构。 假设你要写一个表示数学表达式的程序,那么你可能需要定义如下的类:

    用户5760343
  • promethus与监控系统

    随着容器技术的迅速发展,Kubernetes已然成为大家追捧的容器集群管理系统。Prometheus 作为生态圈 Cloud Native Computing ...

    编程三分钟
  • 精选 TOP 面试题 001 | LeetCode 237. 删除链表中的节点

    请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。

    江不知
  • 2020 年 Node.js 将会有哪些新功能[每日前端夜话0xFA]

    2019 年是 Node.js 诞生的第 10 个年头,npm 上可用的包数量超过了 100 万。Node.js 本身的下载量也在持续增长,同比增长了 40%。...

    疯狂的技术宅
  • Appium移动端自动化测试--搭建测试环境

    推荐直接安装Android Studio,然后使用Android Studio安装SDK。 启动SDK Manager,安装自己所需要的版本,下载安装即可。

    软测小生

扫码关注云+社区

领取腾讯云代金券