V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jrhu05
V2EX  ›  Hexo

[求教] 为什么我 hexo 部署之后一直是 404not found?

  •  
  •   jrhu05 · 2016-04-30 10:13:02 +08:00 · 10879 次点击
    这是一个创建于 3154 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我以前有用过 hexo ,是部署到 gitcafe 的,一直没问题,得知 gitcafe 被 coding 收购后转到了 coding 。
    首先是 SSH 出现 permission denied 错误,弄了半天没搞定只能用 https 方式,结果 hexo d -g 之后访问那个网址直接 404 ,原以为是刷新的问题,结果等了半天还不行。
    后来又尝试着把 hexo 部署到 github ,结果还是不行,也是 404 ,求救。
    两个项目的地址:
    https://github.com/jrhu05/jrhu05.github.io
    https://coding.net/u/jrhu05/p/jrhu05/git
    访问地址:
    http://jrhu05.github.io
    http://jrhu05.coding.me/jrhu05/
    求大侠帮忙看看哪里出错了。
    第 1 条附言  ·  2016-04-30 16:54:23 +08:00
    万般无奈只能在虚拟机 win 环境里重新配置了 hexo 环境, push 是正常了,可是 css 又出问题了,明明本地调试一切正常,好累啊。
    把 cname 又改回 gitcafe 了,哎。
    www.jerryfu.net
    54 条回复    2016-04-30 23:20:43 +08:00
    yhxx
        1
    yhxx  
       2016-04-30 10:46:06 +08:00
    jrhu05
        2
    jrhu05  
    OP
       2016-04-30 10:47:45 +08:00
    @yhxx 我那里的项目名称已经改了啊,你那儿看到的还是 jerrffu 吗?我是原来不知道随便瞎起的,后来知道命名规范后改掉了,可是还没用
    yhxx
        3
    yhxx  
       2016-04-30 10:49:17 +08:00
    @jrhu05 并没有啊。。
    https://github.com/jrhu05/jrhu05.github.io/blob/master/_config.yml

    你看你的配置文件。。。
    helloSwift
        4
    helloSwift  
       2016-04-30 10:51:17 +08:00 via iPhone
    没有 cname 不能写 http://www.jerryfu.net/
    应该写 github.io 的那个地址
    helloSwift
        5
    helloSwift  
       2016-04-30 10:54:05 +08:00 via iPhone
    git 的配置也是错的
    jrhu05/jerrufu.github.io.git
    两个竟然不一样?
    jrhu05
        6
    jrhu05  
    OP
       2016-04-30 10:55:01 +08:00
    @yhxx 改了好像好是不行呢,~~~~(>_<)~~~~
    helloSwift
        7
    helloSwift  
       2016-04-30 10:55:31 +08:00 via iPhone
    你还是换个教程重新来一遍吧,推荐我的这个,_(:3 」∠)_
    http://blog.ykqmain.com/6/
    jrhu05
        8
    jrhu05  
    OP
       2016-04-30 10:55:48 +08:00
    @helloSwift 这个我改掉了呢,还是不行。还有和域名什么的没多大关系吧?我直接访问 github 给的二级域名也不行的
    yhxx
        9
    yhxx  
       2016-04-30 10:59:01 +08:00
    然后发现一个问题
    你怎么把本地文件夹都 push 上来了
    写好配置文件之后 hexo d -g 会自动 push 需要的内容到 github 的
    helloSwift
        10
    helloSwift  
       2016-04-30 10:59:45 +08:00 via iPhone
    @jrhu05 看我的博客,主要看配置文件那块
    jrhu05
        11
    jrhu05  
    OP
       2016-04-30 11:01:10 +08:00
    @yhxx 好像真是这样,和 gitcafe 比对了一下,发现 gitcafe 只是 push 了 public 里的东西,这个把所有的都给 push 上去了,可是我没瞎改啊,就是 hexo 的 hexo d -g ,是不是我 hexo 装的有问题啊?
    helloSwift
        12
    helloSwift  
       2016-04-30 11:01:29 +08:00 via iPhone
    @yhxx 我也发现了,正常成功的是看不到配置文件的,他的仓库中竟然看得到配置文件。我觉得他直接用 git,而不是 hexo 的命令
    RanchoH
        13
    RanchoH  
       2016-04-30 11:01:32 +08:00
    RanchoH
        14
    RanchoH  
       2016-04-30 11:02:28 +08:00
    另外在 source 目录下新建一个 CNAME 文件内容为你要绑定的域名
    helloSwift
        15
    helloSwift  
       2016-04-30 11:03:05 +08:00 via iPhone
    jrhu05
        16
    jrhu05  
    OP
       2016-04-30 11:05:15 +08:00
    @helloSwift 我确实是用 hero 的 deployed 的,是不是有可能因为我的 hero git deploy 插件的问题?
    jrhu05
        17
    jrhu05  
    OP
       2016-04-30 11:08:04 +08:00
    @RanchoH 我确实是按照这样来弄得啊,我以前有用过 hexo 的,用了一年多了,以前从没有过这样的问题,不是新手。
    my101du
        18
    my101du  
       2016-04-30 11:09:17 +08:00
    有没有在 source 目录放一个 Staticfile 空文件?
    jrhu05
        19
    jrhu05  
    OP
       2016-04-30 11:09:30 +08:00
    @helloSwift 为什么我的后缀里多了一个.git ?是不是和我提交的方式有关系?我用的是 https 方式,不是 ssh 方式, ssh 我这边不知道为什么用不了, mac 好麻烦哦
    jrhu05
        20
    jrhu05  
    OP
       2016-04-30 11:13:19 +08:00
    @my101du 这个没有哎,以前看教程没听说过要加这么啊?我试试看,是空文件吧,不是文件夹吧?
    yhxx
        21
    yhxx  
       2016-04-30 11:14:46 +08:00
    @jrhu05 https 的路径就是那样的
    你换成 ssh 试试?
    helloSwift
        22
    helloSwift  
       2016-04-30 11:15:58 +08:00 via iPhone   ❤️ 1
    @jrhu05 你为啥就是不肯看我的那个配置文件呢……
    首先,把那个.git 删了,
    然后,把配置文件的里面的

    # URL
    ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
    url: http://www.jerryfu.net/
    root: /

    这里的 url: 改成 http://jrhu05.github.io/

    再然后进入,终端 cd 到博客文件夹, hexo clean 回车
    hexo g
    hexo d

    最后刷新访问 http://jrhu05.github.io/
    RanchoH
        23
    RanchoH  
       2016-04-30 11:17:12 +08:00
    @jrhu05
    cd/{hexo_folder}
    hexo d -g

    这样不应该会将整个 hexo 目录上传到 Git 吧
    helloSwift
        24
    helloSwift  
       2016-04-30 11:17:33 +08:00 via iPhone
    我用的是 ssh 方式
    jrhu05
        25
    jrhu05  
    OP
       2016-04-30 11:19:43 +08:00
    @helloSwift 谢谢哦,照着你的方法试了一下,发现还是不行,~~~~(>_<)~~~~
    jrhu05
        26
    jrhu05  
    OP
       2016-04-30 11:20:57 +08:00
    @RanchoH 我有进入 hexo 的目录的,但是好像恰恰把除了要上传的 public 目录外的东西都给 push 上去了,~~~~(>_<)~~~~
    my101du
        27
    my101du  
       2016-04-30 11:21:56 +08:00
    @jrhu05 空文件,不是文件夹
    jrhu05
        28
    jrhu05  
    OP
       2016-04-30 11:22:42 +08:00
    @helloSwift 我这边用 ssh 老是提示 permission denied blablabla ,我换了好几次 ssh key 还是不行,穷学生就指望着免费博客装 B 呢,哎......
    jrhu05
        29
    jrhu05  
    OP
       2016-04-30 11:23:20 +08:00
    @my101du 谢谢哦,我试了一下,好像不行呢,莫名其妙的吧除了要上传的 public 目录外的东西都给 push 上去了
    RanchoH
        30
    RanchoH  
       2016-04-30 11:25:29 +08:00
    @jrhu05 进入目录后使用 hexo 命令( hexo clean, hexo generate, hexo deploy ),不要使用 git 命令提交
    jrhu05
        31
    jrhu05  
    OP
       2016-04-30 11:27:31 +08:00
    @RanchoH 嗯,是的,我就是这么认认真真的 hexo clean 、 d -g , git 我只会 clone , push 什么的完全都不会,可是把别的推送上去什么鬼啊, 23333
    Return2legacy
        32
    Return2legacy  
       2016-04-30 11:52:26 +08:00
    讲道理的话, lz 的命令( generate before deploy )没错,按他的 git 配置( https )来上传也没错,但是我上传的还是 public 里的文件。
    helloSwift
        33
    helloSwift  
       2016-04-30 12:00:45 +08:00 via iPhone
    @jrhu05 那就先解决 ssh 的问题吧……
    ahjsrhj
        34
    ahjsrhj  
       2016-04-30 12:07:58 +08:00 via Android
    看一下我写的自动构建教程,希望能帮到你

    https://imrhj.cn/2016/use-hexo-blog/
    lHUAC
        35
    lHUAC  
       2016-04-30 12:41:52 +08:00
    看了一下, LZ 你是把整个 HEXO 文件夹 PUSH 上去了。。你应该是把 HEXO 生成的东西 PUSH 上去。 hexo d -g
    Mikewu
        36
    Mikewu  
       2016-04-30 12:58:10 +08:00
    permission denied 的话试试将更改权限
    chmod 600 ~/.ssh/id_rsa*
    jrhu05
        37
    jrhu05  
    OP
       2016-04-30 15:13:14 +08:00
    @Mikewu 谢谢哦,不行呢。还是
    Permission denied (publickey).
    fatal: Could not read from remote repository.

    Please make sure you have the correct access rights
    and the repository exists.
    jrhu05
        38
    jrhu05  
    OP
       2016-04-30 15:14:29 +08:00
    @lHUAC 我确实是 hexo d -g 的没错啊,我都用了一年多了,没迁移之前一直没有这种诡异的情况,对了,我以前用的是 windows 最近才用 mac os x
    lHUAC
        39
    lHUAC  
       2016-04-30 16:48:49 +08:00   ❤️ 1
    刚刚看到 了你已经 PUSH 上去了
    lHUAC
        40
    lHUAC  
       2016-04-30 16:50:16 +08:00
    访问了一下,然后貌似 CCS 加载路径不对呢。
    jrhu05
        41
    jrhu05  
    OP
       2016-04-30 16:51:22 +08:00
    @lHUAC 我实在无奈,在虚拟机 win 环境下配置了一个全新的 hexo 环境 push 的,而且又出现了新的麻烦,本地调试主题什么的没问题,可是一 push 上去直接主题都没了,好累啊.......呜呜
    jrhu05
        42
    jrhu05  
    OP
       2016-04-30 16:52:11 +08:00
    @lHUAC 这个我也没遇到过,我之前的一直没问题,我又把 cname 给改回 gitcafe 了: www.jerryfu.net 你看,这个就没问题
    jrhu05
        43
    jrhu05  
    OP
       2016-04-30 16:56:58 +08:00
    @lHUAC css 问题居然重新 hero d 一下又好了,哈哈,好开心
    helloSwift
        44
    helloSwift  
       2016-04-30 16:58:56 +08:00   ❤️ 1
    @jrhu05 把文章备份,删了重来都比你折腾这个快,不要考虑其他平台,其他网站,先搞定 ssh 测试 Github 再说
    jrhu05
        45
    jrhu05  
    OP
       2016-04-30 17:02:26 +08:00
    @helloSwift 我这边搞定了呢,在虚拟机 win 环境 push 一点问题都没有,哈哈, coding 和 github 都没问题。可能 hexo 和 mac 不是很般配吧.......
    helloSwift
        46
    helloSwift  
       2016-04-30 17:05:28 +08:00
    @jrhu05 hexo 跟平台没有关系
    我就是用的 Mac ,当初搞这个的时候,基本是一次性搞好了,当时也很激动。
    但是现在我发现,放在 GitHub 上的博客,会时不时地被嫱照顾 _(:3 」∠)_
    jrhu05
        47
    jrhu05  
    OP
       2016-04-30 17:09:05 +08:00
    @helloSwift 所以我就想同时部署到 coding 和 github ,改一下 deploy 部分,一次性 push 两个,然后写两条 came 记录,国内走 coding 国外走 github ,全球速度都杠杠的,哇咔咔。 mac 配 hexo 什么的我用 time capsule 还原一下再重新配一遍试试,虚拟机什么的毕竟有些麻烦,嗯, win 什么的不够优雅,虽然我天天开着虚拟机,笑。
    helloSwift
        48
    helloSwift  
       2016-04-30 17:58:59 +08:00
    @jrhu05 还原可能会有一些问题,其实重新开始也要不了多长时间。
    我懒的搞这些部署,嫱就嫱呗,反正没几个人看,基本是自言自语。
    主要是因为,我喜欢精简,系统自带的软件足够好则优先使用。
    在满足自己所需要功能的前提下,将自己的互联网帐号降到最低,涉及到的平台和 APP 减到最少。
    懒的注册很多账号
    yhxx
        49
    yhxx  
       2016-04-30 19:22:52 +08:00
    话说现在 coding 的服务器也在国外了。。。
    和 github 比速度差不多了
    jrhu05
        50
    jrhu05  
    OP
       2016-04-30 20:15:14 +08:00
    @yhxx coding 服务器在香港,而 github 的服务器很奇怪,各地测到的不一样
    jrhu05
        51
    jrhu05  
    OP
       2016-04-30 20:16:20 +08:00
    @helloSwift 嗯嗯,你说的我很赞同,可是我不还原的话我不知道该如何卸载 node.js 以及 hexo 的各个依赖包,这样我就不知道该如何重新开始
    yhxx
        52
    yhxx  
       2016-04-30 20:53:21 +08:00
    我前一段时间看的在北美。。。 node 包卸载的话 npm uninstall <包名字>
    wql
        53
    wql  
       2016-04-30 21:41:15 +08:00 via Android
    @jrhu05 guthub pages 用了 fastly 提供的 cdn ,还是有做五六个专门的 A 记录全球 anycast 的。也许在全球范围来看, github 更快。
    yiqiok
        54
    yiqiok  
       2016-04-30 23:20:43 +08:00
    1 ,部署在 coding 百度会索引吗? github pages 百度不会收录。。
    2 , push public 文件夹内容。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2829 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 15:03 · PVG 23:03 · LAX 07:03 · JFK 10:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.