[腾讯云]部署云服务器

参考:在腾讯云上部署Hexo博客

githubcodingpages服务经常会打不开,所以打算自建云服务器进行博客的托管

总的步骤如下:

  1. 云服务器注册
  2. nginx配置
  3. git裸仓库设置
  4. hexo部署

本地添加文档后,部署代码到服务器裸仓库,通过钩子将静态文件导入到nginx指定的根目录

云服务器注册

使用的是腾讯云服务器,参考:云服务器

nginx配置

安装nginx、测试、托管静态文件,设置404页面以及配置HTTPS,参考:nginx

git裸仓库设置

创建裸仓库,参考:创建裸仓库

然后在裸仓库中设置钩子,将工作目录导出到另一个路径下,参考:工作目录和裸仓库分离

hexo部署

修改hexo工程配置文件_config.yml,在deploy小节添加云服务器的git裸仓库地址

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  - type: git
    repo: 
      github: xxx,master
      coding: xxx,master
      zhujian: ubuntu@132.232.142.219:/home/ubuntu/git/zhujian.tech.git,master # 裸仓库地址
...
...

可以预先设置SSH公钥,参考:密钥连接

OpenSSL出错

某天发现无法加载网页了

$ curl https://www.zhujian.tech
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to www.zhujian.tech:443 

在云服务器内部能够加载,但是在外部无法加载成功。找了很多内容,发现是腾讯云服务器安全组的关系,之前放开了所有端口,被官方拒绝了所有流量

调整安全组后发现仍旧失效,参考腾讯云服务器 https 连接不上了,是因为备案的原因

我的服务器在腾讯云,所以在上面备案即可,参考备案流程