为啥所有 hexo 教程都用到 GitHub 托管,我有自己服务器可以跳过这一步吗?如何优雅一点?

2023-03-01 15:03:07 +08:00
 ggp1ot2

背景

最近用hexo折腾个人博客。

我发现,几乎所有的教程,都有一步将项目文件托管到GitHub,然后用GitHub pages发布页面,然后再解析自己的域名。

这事为了方便没有服务器发布页面的用户使用的,我理解。

但是我有自己的服务器,有公网 ip ,有自己的域名,是不是就能跳过这一步?

做法

我的做法是,我直接在服务器上安装好了hexo,然后直接hexo s,就能通过ip:port访问了。

那我再通过nginx做反向代理,将域名解析过来不就完事了。

遇到的问题

但是遇到一个问题,让我觉得不够优雅

因为我发现只有hexo s不是默认挂在后台执行,如果按照我的思路,就需要用 nohup 挂在后台,然后如果修改一个一个页面,就要杀掉那个进程,网站关一会儿,修改完再挂上去,感觉好笨啊。

疑问

所以想咨询下折腾过的,我这种情况,在不使用 GitHub 情况下,如何优雅一点?

补充

另外还想问下:hexo s 、hexo g 、hexo d,到底啥关系,不同教程介绍的先后执行顺序都不一样,但是在我这里,只有 hexo s 能更新页面。

最后说下,为什么不想用 GitHub pages ,就是因为速度慢,并且如果用 Github pages 发布网站,再绑定一道域名,岂不是中间多了一层跳转,牺牲了速度?

4029 次点击
所在节点    程序员
40 条回复
itskingname
2023-03-01 18:16:57 +08:00
我是使用 Azure 的云函数来部署的。
nifanle7
2023-03-01 20:41:47 +08:00
@cwcc 请问有没有优雅点的同步方式?现在阿里云的虚拟云主机都是用 FTP 软件手动传到服务器的。
Trim21
2023-03-01 20:44:56 +08:00
Trim21
2023-03-01 20:47:03 +08:00
hexo 正常的用法是写完博客之后 generate ( hexo g )生成静态文件,然后 deploy ( hexo d )到某个地方,再然后就不用管了。

hexo s 是写博客或者修改主题才会用到。
brust
2023-03-01 20:49:08 +08:00
还是用 notion 写博客爽
wheat0r
2023-03-01 21:37:39 +08:00
自建的话,建议去看官方文档,简单来说就是把静态页面发布出来就好。
我之前看到有大神的文档建议用 nginx 反代 hexo s 的端口,笑死我了
Byzliu
2023-03-01 21:48:18 +08:00
有服务器了可以不用静态博客,wordpress 或者 typecho 这种带后台的动态博客应该更方便一点,也不用单独的添加评论系统了,服务器部署 hexo 就是把你生成的静态文件上传到服务器网站目录就好了,托管到 github 好处就是不怕被攻击,也没有任何费用
Jxnujason
2023-03-01 23:03:39 +08:00
我用的是 github 的 workflow ,另外 hexo 静态生成是真的慢,前端时间换成 hugo 了
dcsuibian
2023-03-01 23:05:12 +08:00
Hexo 官方文档,“部署”章节第一篇就是“GitHub Pages”,说明这么做的人很多而且也是比较推荐的做法了

GitHub 托管多好啊,免费、稳定,不用在意 https 证书、带宽、ddos 攻击等细枝末节(图床还是要管的),当然选 GitHub 就意味着基本放弃了国内那些用百度的用户了。我连域名都没绑。

至于速度,实际去试试呗。一个普普通通的 CNAME 解析而已,人完全感知不到的。
你还可以先拿到 github 的 ip ,然后做个 A 记录,那就完全没差别了。(如果 GitHub 不经常换 ip 的话)
cwcc
2023-03-01 23:21:51 +08:00
@nifanle7 如果你愿意开源你的源 md 文件,可以用一个 github 仓库放 md 文件,用 GitHub Action 在更新 md 时候自动船新部署到服务器。也可以用 rsync 加上参数-rltgoDzvO --delete 部署你生成的静态文件夹。
jqtmviyu
2023-03-02 01:42:33 +08:00
用 github 多好呀. 开个私有仓库放 md, 开个公有仓库放 page, 配置下 cli
然后就变成熟悉的 git 管理了, 只管提交, 编译和部署是自动的.

再说了, 自己的服务器和域名哪有 gihub 家的稳定.

想让国内访问也可以把 page 仓库在 vercel 也整一份, 然后添加自己的域名,
realpg
2023-03-02 02:04:03 +08:00
不托管 github 是不是脑子有坑非得用静态博客
这玩意就是为了适应那种没有执行能力的版本库托管用的
baobao1270
2023-03-02 03:05:41 +08:00
自己搜一下 hexo-ssh-deployer 吧
dayeye2006199
2023-03-02 03:27:20 +08:00
因为可以白嫖
ysc3839
2023-03-02 03:43:27 +08:00
因为 GitHub Pages 是门槛最低的免费静态网站托管服务了,其他的相对来说都麻烦一些,而且大部分用户是用 GitHub 账号的,不需要额外注册。
plutotree
2023-03-02 09:08:18 +08:00
@yleoer 推送到服务器这一步是用什么操作的?有没有比较优雅的方案
JoeyWang321
2023-03-02 09:59:02 +08:00
acherkrau
2023-03-02 10:06:46 +08:00
我是用 rsync+github action 把静态文件推送到 vps 上了
yleoer
2023-03-02 11:31:01 +08:00
@plutotree #36 我用的这个: https://github.com/easingthemes/ssh-deploy ,配置一次后面就不用管了
edwinyzhang
101 天前
@wheat0r 你别说,我就是这么用的 :)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/920154

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX