hexo部署到远程服务器
1.配置免密登录
「注意事项:」
注意一定要在当前登录用户的根目录下的.ssh放置公钥才有用!例如普通用户别去root的根目录下.ssh放置公钥,没有用!!!
另外自行创建.ssh文件夹会出现各种权限问题,最好使用命令
1 | // 远程主机同样使用此命令 |
为本机生成钥匙对的同时顺带生成.ssh文件夹。
「方法:」
使用下例中ssky-keygen和ssh-copy-id,仅需通过3个步骤的简单设置而无需输入密码就能登录远程Linux主机。
- ssh-keygen 创建公钥和密钥。
- ssh-copy-id 把本地主机的公钥复制到远程主机的authorized_keys文件上。
- ssh-copy-id 也会给远程主机的用户主目录(home)和
/.ssh, 和/.ssh/authorized_keys设置合适的权限 。
步骤1: 用 ssh-key-gen 在本地主机上创建公钥和密钥
1 | ssh-keygen -t rsa -C "2513177689@qq.com" |
步骤2: 用 ssh-copy-id 把公钥复制到远程主机上
1 | ssh-copy-id -i ~/.ssh/id_rsa.pub 远程用户名@ip地址 |
[注: ssh-copy-id 把密钥追加到远程主机的 .ssh/authorized_key 上.]
步骤3: 直接登录远程主机
1 | ssh root@192.168.2.43 |
2.配置仓库
『Git 仓库的安装配置』
1.安装 Git
1 | git --version // 如无,则安装 |
2.创建用户并配置仓库
1 | useradd git |
3.创建钩子函数
新建文件,编写内容如下:
1 | cd hexo-blog-repo.git/hooks //进入hooks文件夹 |
创建hook钩子函数文件(git提交时自动部署)
1 | vim post-receive |
输入以下内容:
1 | #!/bin/sh |
修改权限
1 | chmod +x post-receive |
1 | exit // 退出到 root 登录 |
本地电脑找一个文件夹测试能否拉取
1 | git clone git@server_ip:/home/git/repos/hexo-blog-repo.git |
3.配置nginx
1.下载安装 Nginx
1 | cd /usr/local/src |
2 配置 Nginx
根据上面的步骤,安装完成,在控制台输入
1 | nginx -v |
可看到版本信息,代表安装成功
运行
1 | nginx |
在浏览器输入你购买的服务器的 IP ,可看到
「注意在安全组或者防火墙开启 80端口」
接下来执行
1 | nginx -s stop //先停止nginx |
4.配置 Hexo
配置站点配置文件_config.yml 的 deploy:
1 | deploy: |
在本地hexo根目录下,执行部署
1 | hexo clean && hexo g && hexo d |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 知还。!
评论