hexo部署博客到阿里云服务器

由于疫情原因,阿里云免费送了半年的服务器,不得拿来玩玩,然后我就先把我的博客从github上迁移到阿里云上来,以后有问题再换。


先前条件:
1、服务器
2、本地电脑已经安装hexo,并且前期已经上传过GitHub(这样的话,你的本地已经有了密钥)

以下部分全是在服务器端的操作!
以下部分全是在服务器端的操作!
以下部分全是在服务器端的操作!

1、配置服务器安全组规则

由于阿里云是默认不授权80端口的访问的,所以我们要手动配置。

打开阿里云服务器管理控制台->点击左侧安全组->点击右侧的配置规则->点击添加安全组规则

如下图
在这里插入图片描述

2、配置代理nginx

因为我们是拿nginx做Web服务器,所以我们需要安装部署好nginx,如果没有安装。以下为centos命令,其他自己百度。

安装执行命令如下
yum install -y nginx
启动服务器:
systemctl start nginx
systemctl enable nginx

现在可以访问一下我们的公网IP,会进入一个默认的nginx界面,我的转到了centos介绍界面。

但是我们实际上是想要让这个地址指向我们的博客,而不是nginx的默认网址,这就需要我们去配置nginx的配置文件。

cd /etc/nginx
vim nginx.conf

找到server,更改如下

# Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  www.cloudcver.com;###改成你的域名;没有域名改成服务器公网IP
        root         /home/git/projects/blog;## 改为服务器上存博客的地址,按照我这写就行。

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

3、搭建服务器git仓库

3.1 安装node

curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install -y nodejs

3.2 安装git

yum install git

3.3 创建git用户

先添加一个git用户

adduser git

修改用户权限

chmod 740 /etc/sudoers
vi /etc/sudoers

添加以下内容
在这里插入图片描述
保存退出后 将sudoers文件权限改回原样

chmod 400 /etc/sudoers

设置git用户的密码

sudo passwd git

3.4 创建SSH密钥

我们本地电脑已经生成过密钥,直接复制到服务器上即可。

su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
#然后将电脑中~/.ssh/id_rsa.pub内容复制过来粘贴。
chmod 600 ~/.ssh/authorzied_keys
chmod 700 ~/.ssh

3.5 创建git仓库

在git用户下操作

mkdir -p projects/blog # 把项目目录建立起来
mkdir repos && cd repos
git init --bare blog.git # 创建仓库
cd blog.git/hooks
vim post-receive # 创建一个钩子

钩子内容:

#!/bin/sh
git --work-tree=/home/git/projects/blog --git-dir=/home/git/repos/blog.git checkout -f

保存文件,文件加权限

chmod +x post-receive # 添加可执行权限
exit # 返回到root用户
chown -R git:git /home/git/repos/blog.git # 给git用户添加权限

测试以下,在本地电脑上测试。sever_ip为你的公网IP

ssh git@server_ip

在这里插入图片描述

4本地电脑上传

在hexo上添加一个部署的端

deploy:
  type: git
  repo:
    fuwuqi: git@server_ip:/home/git/repos/blog.git
    coding: [email protected]:cloudcver/blogme.git
    github: [email protected]:Harryjun/Harryjun.github.io.git
  branch: master

5线上更新下

服务器上reload一下

nginx -s reload

打开自己网站会发现快了很多。
www.cloudcver.com

发布了140 篇原创文章 · 获赞 26 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/CLOUD_J/article/details/104697089