在远程服务器上创建Git仓库
1.在远程服务器上
在 /root 目录下
git init --bare empty.git git remote add origin /root/empty.git
2.在本地机器上
git clone ssh://username@{远程服务器ip地址}:{ssh协议端口}/root/empty.git
3.若想迁本地项目可以将 .git/config 下的 remote 以及 branch 配置部分删除,然后重新配置 remote 以及 branch
git remote add origin ssh://username@{remote ip address}:{ssh port}/root/empty.git git add . git push origin master
使用Git部署Hexo博客到Ubuntu服务器
服务器部分
Nginx 部分
在 /var/www/html 目录下创建静态资源托管目录
mkdir staticWeb
在 /etc/nginx/sites-availables 创建 static-web 配置文件
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html/staticWeb; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } }
$ nginx -t $ sudo serice nginx reload
Git 部分
$ cd ~ $ mkdir repos && cd repos $ git init --bare hexo_blog.git $ touch ~/repos/hexo_blog.git/hooks/post-receive #新建一个名为post-receive的钩子文件 $ echo "git --work-tree=/var/www/html/staticWeb --git-dir=~/repos/hexo_blog.git checkout -f" >> ~/repos/hexo_blog.git/hooks/post-receive $ chmod +x /home/ubuntu/hexo_blog.git/hooks/post-receive #设置执行权限
本地部分
将本地的 id_rsa.pub 公钥添加服务器端的 .ssh/authorized_keys 文件中去,避免每次部署输入账号以及密码来授权。
ssh-copy-id [username]@[ip]
编辑 hexo 项目下的 _config.yml 文件
... ... deploy: type: git repo: ssh://[username]@[ip]:[ssh Port]/~/repos/hexo_blog.git branch: master ... ...
部署
$ hexo g #生成要部署的文件 $ hexo d #开始部署
访问服务器地址查看是否部署成功
近期评论