由于疫情原因,阿里云免费送了半年的服务器,不得拿来玩玩,然后我就先把我的博客从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: git@e.coding.net:cloudcver/blogme.git
github: git@github.com:Harryjun/Harryjun.github.io.git
branch: master
5线上更新下
服务器上reload一下
nginx -s reload
打开自己网站会发现快了很多。
www.cloudcver.com