Hexo博客部署至阿里云服务器

    科技2022-08-19  120

    Hexo博客部署至阿里云服务器

    主要都是参考这篇博客的!自己实操了一遍,记录一下~

    1. get一个服务器

    1.1 购买服务器与域名

    今日心血来潮,买了一个服务器玩一玩

    1.2 购买一个域名

    买就是了~

    1.3 配置安全组规则

    阿里云默认不授权80端口访问,所以我们手动配置一下(否则无法访问服务器)

    2. 配置服务器环境

    2.1 安装nginx服务器

    我们首先需要安装nginx服务器(默认路径/etc/nginx/)

    yum install -y nginx

    然后启动服务器:

    systemctl start nginx systemctl enable nginx

    然后我们就能通过公网IP访问我们的服务器了

    2.2 配置服务器路由

    因为我们想要我们的我们的地址指向我们的博客,而不是nginx的index.html,所以我们需要修改nginx的配置文件,位于etc/nginx/nginx.conf (当然也可能由于niginx版本的不同位置会有些差异)。

    我们在etc/nginx/创建一个新的文件夹vhost,然后创建一个blog.conf 配置文件。

    cd /etc/nginx mkdir vhost cd vhost vim blog.conf

    输入以下内容,然后保存即可

    server{ listen 80; root /home/www/website;这里填博客目录存放的地址 server_name 这里填域名如(www.baidu.com) 如果暂时没有域名就填阿里云的公网ip,以后有了再改回来; location /{ } }

    然后我们再去编辑etc/nginx/下的nginx.conf文件

    3. 安装Git以及Node.js

    3.1 安装Node.js

    输入下列命令安装Node.js

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

    然后就安装好了

    3.2 安装git及配置仓库

    安装git

    yum install git

    配置git用户

    adduser git

    修改用户权限:

    chmod 740 /etc/sudoers vim /etc/sudoers

    在下图位置添加

    git ALL=(ALL) ALL

    保存退出后 将sudoers文件权限改回原样

    chmod 400 /etc/sudoers

    设置git用户的密码

    sudo passwd git

    切换到git用户,然后在~目录下创建.ssh文件夹

    su git cd ~ mkdir .ssh cd .ssh

    生成公钥密钥文件

    ssh-keygen

    此时在目录下就会有两个文件,分别是

    id_rsa 和 id_rsa.pub

    其中 id_rsa.pub 就是公钥文件 我们复制一份

    cp id_rsa.pub authorized_keys

    这样目录下就会有一个authorized_keys文件,它和id_rsa.pub一模一样。 最后我们修改它的权限

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

    然后上自己电脑,使用ssh连接服务器:

    ssh -v git@自己的公网ip

    然后创建一个git仓库

    cd ~ git init --bare blog.git vi ~/blog.git/hooks/post-receive

    创建好后再输入以下内容:

    git --work-tree=/home/www/website --git-dir=/home/git/blog.git checkout -f

    保存退出然后授予权限

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

    4. Hexo安装

    然后就是本地Hexo安装了,挺简单的,网上教程很多(主要是我懒,装好了不想再演示一遍了~)

    装好后只需要配置一下_config.yml 就可以了

    deploy: type: git repo: git@这里改为服务器公网IP:/home/git/blog.git branch: master message:

    然后就能将hexo部署到服务器上了~

    然后重新运行一下nginx服务器

    nginx -s reload

    访问你的公网ip或者域名就能访问了~

    Processed: 0.022, SQL: 9