服务器配置


搭建远程git私库

  • 登录远程服务器,安装git
git --version #查看是否安装
  • 创建用户并配置仓库
    useradd git #创建用户
    passwd git #设置密码
    mkdir /home/git #创建git文件夹
    chown -R git:git /home/git
    su git #授权
    cd /home/git/
    mkdir -p projects/blog #项目存在的真实目录
    mkdir repos && cd repos
    git init --bare blog.git #创建一个裸露的仓库
    cd blog.git/hooks
    vim post-receive #创建hook钩子函数,输入
#!/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仓库是否可用

在本地电脑的git中输入

git clone git@server_ip:/home/git/repos/blog.git

如果能把空仓库拉下来,则说明git仓库搭建成功

pic

  • 建立ssh信任关系,在本地电脑

如果没有rsa密钥则生成

git config --global user.name "yourname"
git config --global user.email youremail@example.com
ssh-keygen -t rsa -C "youremail@example.com"
git config --global core.autocrlf false  # 禁用自动转换,这个不设置后面上传时会出现警告,如下

pic

建立ssh信任关系

ssh-copy-id -i C:/Users/yourname/.ssh/id_rsa.pub git@server_ip
ssh git@server_ip #测试能否登录

注意:此时ssh登录git用户不需要密码!如果需要则没配置好

  • 禁用git 用户的shell登录权限,从而只能用git clone,git push等功能
cat /etc/shells #查看git-shell 是否在登录方式里
which git-shell #查看是否安装
vi /etc/shells

添加第二步显示的路径,通常为 /usr/bin/git-shell

  • 修改/etc/passwd中的权限
#将原来的 
git:x:1000:1000::/home/git:/bin/bash

#修改为
git:x:100:1000:,,,:/home/git:/usr/bin/git-shell

nginx安装

apt-get install nginx

验证安装

nginx # 启动nginx 

查看是否安装成功,在浏览器输入公网ip

修改配置文件

# 查找nginx安装路径
whereis nginx 
cd /etc/nginx
vim nginx.conf

code

code


发布

配置_config.yml文件

1.编辑_config.yml的deploy属性

code

2.在package.json中添加npm脚本

"scripts":{
"deploy":"hexo clean && hexo g -d",
"start": "hexo clean && hexo g && hexo s"
},

3.使用ProtableHexo自带的脚本上传