准备服务器

购买一台服务器,修改密码,远程连接

更换yum源

查看yum源

1
yum info yum

备份yum源

1
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

下载centos7yum源

1
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

运行生成缓存

1
yum makecache
1
2
sudo yum install -y epel-release
sudo yum -y update

安装nginx

1
sudo yum install -y nginx

安装成功后,默认的网站目录为: /usr/share/nginx/html

默认的配置文件为:/etc/nginx/nginx.conf

自定义配置文件目录为: /etc/nginx/conf.d/

开启防火墙

1
systemctl start firewalld

打开端口

1
2
3
4
5
6
7
8
9
10
11
12
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --permanent --zone=public --add-port=8001/tcp
firewall-cmd --permanent --zone=public --add-port=8002/tcp
firewall-cmd --permanent --zone=public --add-port=8003/tcp
firewall-cmd --permanent --zone=public --add-port=8004/tcp
firewall-cmd --permanent --zone=public --add-port=8005/tcp
firewall-cmd --permanent --zone=public --add-port=8006/tcp
firewall-cmd --permanent --zone=public --add-port=8007/tcp
firewall-cmd --permanent --zone=public --add-port=8008/tcp
firewall-cmd --permanent --zone=public --add-port=8009/tcp
firewall-cmd --reload

启动

1
systemctl start nginx

开机自启

1
systemctl enable nginx

创建git用户

  1. 安装git,创建git用户
  2. 远程访问权限 ,ssh连接
  3. git仓库初始化,创建钩子

安装git

1
yum install git

添加git用户

1
adduser git

修改权限

1
chmod 740 /etc/sudoers

进入编辑

1
vi /etc/sudoers

新增下面内容

1
git ALL=(ALL) ALL

更改文件权限

1
chmod 400 /etc/sudoers

为git创建密码 ,密码是别的远程连接要用到的密码

1
sudo passwd git

进入git账户

1
su git

回到根目录

1
cd ~

在root目录下面创建ssh

1
mkdir .ssh

打开ssh文件夹

1
cd .ssh 

本地电脑生成密钥,3次回车

1
ssh-keygen -t rsa 

在.ssh目录下面输入cmd,然后输入type id_rsa.pub

1
type id_rsa.pub

linux进入.ssh目录,进入编辑模式

1
vi authorized_keys

把公钥黏贴上去

修改文件权限

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

回到目录

1
cd ~

初始化博客

1
git init --bare blog.git

创建hook

1
vi ~/blog.git/hooks/post-receive

黏贴上去

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

修改权限

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

博客仓库

回到用户目录

1
su root

进入home

1
cd /home

创建www文件夹

1
mkdir www

进入www目录

1
cd www

创建website文夹

1
mkdir website

修改文件夹权限

1
sudo chmod -R 777 /home/www

在etc里面找到nginx,然后找到nginx.conf配置文件,写入下面代码

1
2
vi /etc/nginx/nginx.conf
root /home/www/website;

本地连接

在cmd命令窗口输入,进行测试

1
2
3
ssh -v git@192.168.38.130
ssh -v git@116.205.188.220
ssh -v git@47.107.253.199

修改仓库提交地址

1
repository: git@192.168.38.130:/home/git/blog.git

本地提交

1
2
hexo g
hexo deploy

提交成功

本地安装hexo

换源

1
npm config set registry https://registry.npmmirror.com

安装hexo脚手架

1
npm install -g hexo-cli

hexo初始化

1
hexo init blog

安装默认博客

1
2
cd blog
hexo server

安装依赖

1
npm install

启动

1
hexo serve

常用命令

1
2
3
hexo clean 清理缓存
hexo g 生成静态文件
hexo deploy 提交

重启nginx服务器

1
sudo service nginx restart 

图片处理

博客根目录修改下面这个

1
post_asset_folder: true

安装插件

1
npm install https://github.com/CodeFalling/hexo-asset-image

typora偏好设置

域名

  1. 购买域名
  2. icp备案

备注:阿里云购买的服务器和域名可以快速解析,分开购买域名服务器需要在购买服务器的运营商绑定域名进行解析。

网站证书

免费证书只有3个月使用时长,1年使用时长需要68,申请免费。

备注:需要等待3分钟才能验证完成。

下载证书

解压得到两个文件,把文件上传服务器

原始的nginx配置文件,https部分被注释。

修改成这样

配置http自动跳转https

1
rewrite ^(.*) https://$server_name$1 permanent;
1
2
3
4
5
6
7
server {
listen 80;
#填写绑定证书的域名
server_name zouwen.xin;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}

重启

1
service nginx restart