错误 [图片] 尝试的解决方案 检查了 docker 里的服务, 状态正常 [图片] 随即去检查了域名, 请问是否是没有备案的原因呢 [图片]

Solo 博客安装问题

错误

1.png

尝试的解决方案

检查了 docker 里的服务, 状态正常
3.png

随即去检查了域名, 请问是否是没有备案的原因呢
2.png

  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。

    Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!
    具体细节请浏览 B3log 构思

    723 引用 • 5468 回帖 • 695 关注
  • 安装

    你若安好,便是晴天。

    69 引用 • 914 回帖
  • Q&A

    提问之前请先看《提问的智慧》精读注解版,好的问题比好的答案更有价值。

    1123 引用 • 7353 回帖 • 586 关注
1 操作
LilNn99 在 2019-07-29 13:01:22 更新了该帖
优质回帖
  • csfwff 1 赞同      

    服务器安全组看看端口有没有开……
    防火墙什么的检查下

  • jinjianh      

    • 你先弄 nginx, 别管 solo,nginx 也不要配置 https,就尝试一下你的域名:8080 和域名:444 能不能用,不能就试试 IP 加端口
    • 在 nginx 能够访问了,你在尝试配置 htpps。
    • 完成以上两个步骤确定你的域名加端口或者是 IP 加端口是可以访问的,关闭 nginx
    • 然后启动 solo,启动 solo 时,就用你粘贴的命令,但是注意一点如果你上面配置 nginx 的时候域名不可以访问,那你就老老实实用 ip, 这里我说的是--server_host=。这里先不用--server_port=444 只要前面的 8080。
    • 以上情况能跑的情况下,删掉容器,再加上--server_port=444 ,让后你访问你的 8080 和 444,确定能跑。
    • 如果你的 nginx 配置 https 成功了的话, 你需要再次删掉容器,将--server_scheme=http改为https(上面步骤二失败,步骤一成功,也就是没有配置成功 https,请忽略此步骤)
    • 启动 nginx,注意你的 nginx 里的配置要与 solo 一样,这里指的是 solo 用的 ip,nginx 也要是 ip,solo 用的域名,nginx 也要是域名。
    • ps 未备案的一般会禁止掉 80 和 443,祝你好运

66 回帖   
请输入回帖内容...
  • csfwff  

    http 未备案会跳到提示备案
    https 未备案直接无法访问
    试试 ip 能不能访问

  • csfwff  

    ping 了下 ip,不通,建议查下服务器状态

    1 回复
  • LilNn99        

    ping 了下 确实不通, 正常应该如何检查呢 (挠头)

    1 回复
  • csfwff        

    😂 不大清楚
    试试在服务器 ping 自己
    检查防火墙之类的
    重启trollface

    2 回复
  • LilNn99        

    防火墙的话 我需要把防火墙关了? 刚 ping 自己是通的

  • LilNn99        

    重启了也没用, 我再检查下防火墙, 昨天还是好的😭

    1 回复
  • csfwff        

    😂 这就不知道了,帮你召唤下 D 哥 @88250 trollface 溜了溜了

    1 回复
  • LilNn99        

    好的, 谢谢大佬

  • LilNn99  

    QQ图片20190729141658.png

    刚才用别的 PC 机去访问我的网址, 提示未备案
    好像确实就是没有备案的问题?

    1 回复
  • csfwff        

    试了下 ip 能够访问,未备案可以暂时参考我的解决方案,后面跟端口
    https://sszsj.cc:444

    2 回复
  • jinjianh  

    备案吧小伙子

    1 回复
  • 88250

    服务器在中国境内的话必须要备案的,不在境内的话可以不用备案,但是 IP 有可能会被墙。

    1 回复
  • LilNn99        

    谢谢大佬, 可能就是备案的原因, 我先备案了再看看

  • LilNn99        

    好的, 大佬 ~

  • LilNn99        

    加了端口好像也没用😂

    1 回复
  • 88250

    记得给 @csfwff 结贴 😄

    1 回复
  • LilNn99        

    我通过 IP 进去了, 但是很多页面加载不出来😂

  • csfwff        

    huaji 你需要在 solo 启动的时候设置端口,如果用了 nginx 也要做相应设置

    1 回复
  • LilNn99        

    好的

  • LilNn99        

    就是备案的问题, 大佬你说的启动时设置端口, 是怎么弄, 没懂😂
    服务器 docker nginx 这些都是第一次接触

    1 回复
  • csfwff        

    启动命令 --server_port={这里写你访问时候的端口,例如我写的 444}
    然后 nginx 里的 server listen 444

    2 回复
  • LilNn99        

    好的 谢谢大佬

  • LilNn99        

    大佬 你说的这个命令 是在启动这个服务的时候输入吗, 如果这个服务正在运行, 我是不是还得停掉它 再启动 我刚才用了 docker run,
    docker exec, 都不行😂

    1 回复
  • csfwff        

    😂 理论上应该是得停掉重启的吧

    1 回复
  • LilNn99        

    停掉我用的是 docker stop ID, 启动我用 docker start ID --server_port=444 改不了...

    1 回复
  • csfwff 5 评论        

    看你的贴子不是这么写的么

    docker run --detach --name solo --network=host \
            --env RUNTIME_DB="MYSQL" \
            --env JDBC_USERNAME="root" \
            --env JDBC_PASSWORD="root" \
            --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
            --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
            b3log/solo --listen_port=8080 --server_scheme=https --server_host=LilNn99.cn --server_port=
    

    最后这个😂 server_port=444
    我没用 docker,直接 war 解压的,所以不是特别熟😂

    2 回复
    应该是 --listen_port=444 然后 --server_port 去掉
    jinjianh
    @jinjianh 不是的,这两个不一样的,listen_port 是运行的服务的端口,server_port 是访问的时候的端口
    csfwff
    @csfwff 不设置访问时端口就会默认用运行的端口的
    jinjianh
    @jinjianh 🤣🤣🤣soga 那应该都行
    csfwff
    @csfwff 因为我跑 8080 的时候,我没加。b3log 那里都没有这个参数。 后面通过 nginx 的时候就加了后面这个,前面还是 8080 通过 nginx 反向代理到 80
    jinjianh
  • LilNn99        

    它这个是直接删除了容器好像是 然后重新创建的, 我想在原有的基础上覆盖, 但是好像不太行

  • LilNn99        

    我直接删掉吧

    2 回复
  • csfwff        

    😂 这就是我的知识盲区了

  • csfwff        

    数据先备份😂

    1 回复
  • LilNn99        

    我删掉了这个我的文章就没了嘛?!!

    1 回复
  • LilNn99  

    @88250 大佬, 上次我看您 Latke 配置剖析 里提到了, 直接用运行参数覆盖, 刚才我也尝试了好几种命令, 我发现还是不能修改这个数据, 能麻烦告诉下怎么改嘛, 上次这里我就绕开了🙏

    2 回复
  • 88250      

    有什么问题?

    1 回复
  • LilNn99        

    刚编辑了下 可能没看到 您现在看下

  • jinjianh        

    文章是存到 mysql 里面的, 不是存到 solo 容器里面的, 删了容器不会丢失数据

  • jinjianh  

    docker run --detach --name solos --network=host --env RUNTIME_DB="MYSQL" --env JDBC_USERNAME="root" --env JDBC_PASSWORD="你的数据库密码" --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" b3log/solo --listen_port=你的端口 --server_scheme=http --server_host=你的域名

    1 回复
  • 88250      

    文档里面描述的命令应该没问题吧,带参是可以覆盖 latke.props 里面的配置项的。

  • LilNn99        

    大佬 你的意思就是 删除掉这个容器 再重新创建一个吗? 我有个疑问 就是 D 哥 写的文档 配置 latke.props 就直接用命令覆盖掉 文档的意思不是说通过命令覆盖掉吗, 我们如果用 run 命令的话 不就是得先删掉这个容器 再进行 run 启动吗

    2 回复
  • jinjianh        

    对的,删除 solo 容器并不会将数据清掉,我日常删 solo 容器,至于你后半段 latke 啥的,我也不知道是啥,我经常启动的时候出问题,最简单的办法就是删了现在的容器,从新 docker run 一个

    2 回复
  • 88250 1 评论      

    启动的时候带上参数 --rm 可以在容器退出时自动删除容器。

    1 回复
    学到了
    jinjianh
  • LilNn99 1 评论        

    好的, 大佬说的我明白了 后面的说的就是这个 ->Latke 配置解析, 我想着是不是有命令可以直接覆盖参数, 所以我就有点迷

    docker 似乎用不到这个
    jinjianh 1 赞同
  • LilNn99        

    好的, get 到了

  • LilNn99        

    我傻了 我还以为是同一个东西

  • LilNn99 3 评论  

    @jinjianh 大佬, 现在能进去了, 但是资源加载不出来是什么情况啊
    1.png
    2.png

    你咋个弄得哦,我也经常这样,删容器重新输入 over
    jinjianh
    有可能是哪儿输入错了,你重新输入一次,排查下
    jinjianh
    你加上你的端口试试哎,有时候是端口的问题
    jinjianh
  • LilNn99  

    docker run --detach --name solo --network=host \
            --env RUNTIME_DB="MYSQL" \
            --env JDBC_USERNAME="root" \
            --env JDBC_PASSWORD="root" \
            --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
            --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
            b3log/solo --listen_port=8080 --server_scheme=https --server_host=LilNn99.cn --server_port=444
    

    @jinjianh 大佬,刚才是这样的 我还需要改 nginx 吗

  • LilNn99  

    @jinjianh 感觉就好像是 https 里的资源没加载,最开始的时候也出现过一次,我填的是 --server——scheme=http 后来换成 https 就好了,我感觉是不是我的端口改的有问题

    2 回复
  • csfwff 1 评论        

    域名加端口访问

    1 回复
    nginx 做相应修改
    csfwff
  • LilNn99        

    server {
            listen    443 ssl;
            server_name www.lilnn99.cn,lilnn99.cn;
            ssl_certificate  /home/ubuntu/Nginx/1_www.lilnn99.cn_bundle.crt;
            ssl_certificate_key /home/ubuntu/Nginx/2_www.lilnn99.cn.key;
    
            location / {
                    proxy_pass http://www.lilnn99.cn:444;
            }
    }
    
    server {
            listen     444;
            listen     [::]:80;
            server_name www.lilnn99.cn,lilnn99.cn;
            return 301 https://$host$request_uri;
    }
    

    nginx 这样改可以吗, @csfwff

  • LilNn99  

    @csfwff 我把所有的配置改回最初的样子,用 http://118.25.78.78:8080/ 访问就能打开,但是好像就没办法加载静态资源应该是

    1 回复
  • jinjianh        

    所以你弄出来了吗

    1 回复
请输入回帖内容 ...