1:安装nginx,git,node.js
安装git,nodejs
1 | # 安装Git |
nginx安装参考nginx安装
安装完成后修改nginx配置:
在nginx文件夹中创建vhost文件夹,然后在vhost
中创建博客的配置blog.conf
,最后将blog.conf
添加到nginx.conf
中。
1 | # nginx文件夹中创建vhost |
内容如下
1 | server{ |
最后在nginx.conf
中导入blog.conf
1 | # 在#gzip on;注释后添加 |
建立博客目录
1 | cd /var |
2:创建git用户
1 | # 添加git用户 |
进入后按i键由命令模式切换到编辑模式。找到 root ALL=(ALL) ALL,在下面添加一行 git ALL=(ALL) ALL。(使用tab对对齐)。修改完成后,先按Esc由编辑模式切换到命令模式,再输入:wq命令保存并退出编辑器。
1 | # 保存退出后改回权限 |
设置自己的密码,这样就可以使用git用户远程登录云服务器了。
2-1:git用户配置ssh免密
2-1-1:本地生成密钥
打开本地git.bash程序
1 | # 生成密钥,一路回车就行 |
生成ssh 密钥后,可以到~/.ssh目录下查看相关文件,一般来说ssh 密钥会包含id_rsa和id_rsa.pub两个文件,分别表示生成的私钥和公钥。
- 在git等源代码管理中,使用cat ~/.ssh/id_rsa.pub命令,打印并将相应内容复制到源代码管理服务器即可实现git的无密码管理
- 也可以直接打开本地文件夹
C:\Users\你的用户名\.ssh
,复制id_rsa.pub文件内容
2-1-2:服务器存放公钥
1 | # 切换git用户。不切换的话就是给当前登录用户设置ssh免密了。 |
设置文件权限
1 | chmod 600 ~/.ssh/authorized_keys |
输入exit
退出。
在本地计算机上使用git用户连接云服务器将不提示输入密码
尝试使用ssh方式登录
1 | ssh git@服务器公网ip |
2-1-3:修改git用户权限(可选0
为了安全起见,使git用户只能推送和拉取,而不能使用ssh登录,修改用户权限。
修改/etc/passwd文件中git用户权限为git-shell
1 | vim /etc/passwd |
将git:x:1002:1002::/home/git:/bin/bash
改为: git:x:1002:1002::/home/git:/usr/bin/git-shell
例:
3:创建git仓库
使用root用户登录后切换到git仓库
1 | cd /var/repo |
文件内容如下:
1 | git --work-tree=/var/www/hexo --git-dir=/var/repo/blog.git checkout -f |
保存并退出
修改权限
chmod +x ~/blog.git/hooks/post-receive
修改blog.git的拥有者为git
1 | chown -R git /var/repo/blog.git |
修改博客存放目录权限,使任何人可写
1 | chmod -R 777 /var/www |
4:Hexo配置
用github相同,修改_config.yml
1 | deploy: |
1 | hexo clean |