"v3.4.0 简介 Solo v3.4.0 主要增加了两个新特性,博文定时同步 GitHub 仓库(线上效果请看[链接],实现细节请看[链接])以及展示站点连接(在社区设置站点连接后博客端也将进行展示)。另外,从 v3.4.0 起我们以 Docker 镜像作为主要的交付方式,这样可以方便地进行自动升级,细节请看 [链接 .."

Solo v3.4.0 发布,自动同步 GitHub 仓库

v3.4.0 简介

Solo v3.4.0 主要增加了两个新特性,博文定时同步 GitHub 仓库(线上效果请看这里,实现细节请看这里)以及展示站点连接(在社区设置站点连接后博客端也将进行展示)。另外,从 v3.4.0 起我们以 Docker 镜像作为主要的交付方式,这样可以方便地进行自动升级,细节请看 Solo 使用指南

下个版本 v3.5.0 我们将上线一款新皮肤 Casper,如果你看到中意的皮肤需要移植,请到此提议

下线 CDN

从该版本开始,我们提供的 Solo 静态资源 CDN 已经下线,请大家不要使用。

升级须知

可从 v3.0.0 起的任何版本直接升级,升级前请备份数据库,以备发生不可预期的问题时进行回滚。

v3.4.0 变更记录

历史版本变更请浏览这里

  • Solo

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

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

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

    629 引用 • 4803 回帖 • 719 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    2192 引用 • 7483 回帖 • 995 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    221 引用 • 2397 回帖 • 1003 关注
  • 博客

    记录并分享人生的经历。

    165 引用 • 1914 回帖
45 回帖   
请输入回帖内容...
  • Hanseltu  

    感谢 D 大,不过每次更新一版都会对前一版有影响吗?比如这个标签栏,没有小框框有点难受😵

    fenlei12.png

    2 回复
  • 88250    
  • Vanessa    

    这个 CDN 没有版本号,影响非常大。我们决定关闭了。你可以改为使用自己本地的。

    1 回复
  • lizhongyue248  

    刚刚看自己的博客 banner 变了,就知道 肯定更新 了。

    感觉自己写的自动更新还是有些不足,自定义 banner 的图片后,每次更新还要上服务器上面去修改背景图片 banner 的 url。。。
    不敢完全用以前版本的 css 移动过来覆盖,因为担心会覆盖掉新版本修改的 css。

    弱弱问句,banner 可以不可以也自定义啊🙏

    不过突然想到有些皮肤好像没有 banner -0-

    1 回复
  • 88250    

    是个好建议,我和 @Vanessa 也在想能不能支持针对特定皮肤做配置,这样每个皮肤就可以用不同的配置变量来实现更好的自定义效果。不过还在构思阶段,等我们找到好的实现方案就开干 😄

    1 回复
  • lizhongyue248    

    针对特定皮肤进行自定义配置是很大胆的构思啊😅 对我们就方便太多了~不过皮肤的可变性很大,难度不小啦。

    刚刚突然想到可以用自动覆盖文件的方式覆盖 banner ,不用去改 css。。。前两个版本都是去修改 css banner 的 url 的😇 好傻 =-=

  • lai-bluejay    

    原有的 CDN 设置,直接取消掉吗?

  • samye  

    渐行渐远,不需要 github 的主,没更新动力了。😄

  • Eddie

    什么是 enhancement??????????
    @Vanessa

    1 回复
  • Vanessa    

    功能相关改进

  • lai-bluejay  

    solo 用 docker 配置后,网页内容加载出错。java cp 启动方式不会报错。
    Mixed Content: The page at 'https://www.jithub.cn/'was loaded over HTTPS, but requested an insecure stylesheet'http://www.jithub.cn/skins/Pinghsu/css/base.css?1553584947395'. This request has been blocked; the content must be served over HTTPS.

    nginx 配置:

    # cat jithub.conf
    # ssl_session_cache   shared:SSL:10m;
    # ssl_session_timeout 10m;
    
    upstream backend {
            server localhost:8080; # Tomcat/Jetty
    }
    server {
            listen       443;
            server_name  www.jithub.cn;
            charset utf8;
            ssl on;
    
            keepalive_timeout   70;
            ssl_certificate /root/cert/Nginx/1_jithub.cn_bundle.crt;
            ssl_certificate_key /root/cert/Nginx/2_jithub.cn.key;
            ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
            ssl_ciphers         HIGH:!aNULL:!MD5;
    
            if ($scheme != 'https') {
            rewrite ^(.*)$  https://$server_name$1 permanent;
        }
    
            location / {
                    proxy_pass http://backend$request_uri;
                    proxy_redirect https:// http://;
                    proxy_set_header  Host $host:$server_port;
                    proxy_set_header  X-Real-IP  $remote_addr;
            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header  X-Forwarded-Proto https;
                proxy_set_header  SSL_PROTOCOL $ssl_protocol;
                    client_max_body_size  10m;
            }
    }
    
    server {
            listen       80;
            server_name  jithub.cn www.jithub.cn;
    
            access_log off;
    
            if ($host = "jithub.cn"){
                    return 301 https://www.jithub.cn$request_uri;
                    }
            return 301 https://$server_name$request_uri;
            }
    
    server {
            listen 443;
            server_name jithub.cn;
            return 301 https://www.jithub.cn$request_uri;
    
    
    }
    
    2 回复
  • 88250    

    docker run 时加下启动参数 server_scheme=https

    2 回复
  • lai-bluejay    

    启动参数如下

    docker run --detach --name solo --network=host \
        --env RUNTIME_DB="MYSQL" \
        --env JDBC_USERNAME="sololhc" \
        --env JDBC_PASSWORD="xxxxxxx" \
        --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
        --env JDBC_URL="jdbc:mysql://localhost:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
        b3log/solo --listen_port=8080 --server_scheme=https --server_host=www.jithub.cn
    
  • lai-bluejay    

    需要复现一下吗,我可以用 docker 再起一下服务

    1 回复
  • 88250    

    如果方便的话请帮忙再启一下,谢谢。

    2 回复
  • MikeoPerfect  

    DI 大神,版本 V3.2.0 最近博客里面有人注册了用户,我进用户管理里点击改变角色,发现该用户从访问用户 变成 一般用户 请问是不是,我再点击一下改变角色,他就会从一般用户 变成管理员了呢,求解答

    1 回复
  • CodingOX  

    这个版本是比较稳定的版本吗?

    1 回复
  • kangaroo1122    

    再点又是访问用户了,一般用户可以发帖

  • 88250    

    相对稳定 😂

  • guobingwei  

    从 v3.0.0 升级到 v3.4.0 失败了....

    能进首页,但是我看后台日志报错了:

    Caused by: org.h2.jdbc.JdbcSQLException: Table "B3_SOLO_CATEGORY_TAG" not found; SQL statement:
    SELECT  *  FROM b3_solo_category_tag WHERE tag_oId = ? LIMIT 0,1 [42102-197]
    	at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
    

    需要我手动创建这个表吗

    1 回复
  • 88250    

    这个表在 v2 时代就应该创建好的,估计是之前某个老版本升级有问题导致没有创建成功。现在你手动创建吧..

    1 回复
  • guobingwei    

    嗯,创建完就好了...

  • guobingwei  

    image.png

    进入管理后台提示 401 是怎么回事

    1 回复
  • 88250    

    用户名要保持和 GitHub、社区一致,社区这边我可以帮你改,博客端你改 user 表。

    1 回复
  • guobingwei    

    那帮我改成这个吧,感谢。guobingwei

    1 回复
  • 88250    

    改好了。

  • guobingwei  

    ok,可以了。进入管理后台后,工具选项卡下没有内容了,设置不了信息了,这正常吗
    image.png

    1 回复
  • 88250    

    肯定不正常 😂 F12 看下是不是有什么报错。

    1 回复
  • guobingwei    

    admin.min.js?1553608134392:15 Uncaught TypeError: Util.parseMarkdown is not a function
        at Object.success (admin.min.js?1553608134392:15)
        at f (admin-lib.min.js:1)
        at Object.fireWith [as resolveWith] (admin-lib.min.js:1)
        at r (admin-lib.min.js:3)
        at XMLHttpRequest.r (admin-lib.min.js:3)
    success @ admin.min.js?1553608134392:15
    f @ admin-lib.min.js:1
    fireWith @ admin-lib.min.js:1
    r @ admin-lib.min.js:3
    r @ admin-lib.min.js:3
    XMLHttpRequest.send (async)
    send @ admin-lib.min.js:3
    ajax @ admin-lib.min.js:3
    getList @ admin.min.js?1553608134392:15
    init @ admin.min.js?1553608134392:15
    (anonymous) @ admin.min.js?1553608134392:1
    each @ admin-lib.min.js:1
    each @ admin-lib.min.js:1
    complete @ admin-lib.min.js:3
    f @ admin-lib.min.js:1
    fireWith @ admin-lib.min.js:1
    r @ admin-lib.min.js:3
    r @ admin-lib.min.js:3
    XMLHttpRequest.send (async)
    send @ admin-lib.min.js:3
    ajax @ admin-lib.min.js:3
    load @ admin-lib.min.js:3
    setCurByHash @ admin.min.js?1553608134392:1
    inited @ admin.min.js?1553608134392:1
    (anonymous) @ admin-index.do:237
    1_u010943460.jpg:1 GET https://avatar.csdn.net/7/3/5/1_u010943460.jpg 403
    

    报这个错

    1 回复
  • 88250    

    强制刷新一下看看?

  • zjhch123  

    会不会有一天就放弃 war 包了,担心

    1 回复
  • 88250    

    暂时不会,毕竟目前还是基于 Servlet 容器的。

  • lai-bluejay    

    抱歉,才回复信息。已经用 docker 启动了,麻烦帮忙看一下 ~~
    https://www.jithub.cn/。

    # cat jithub.conf  # ssl_session_cache shared:SSL:10m;  # ssl_session_timeout 10m;  upstream backend { server localhost:8080; # Tomcat/Jetty } server { listen  443; server_name www.jithub.cn; charset utf8; ssl  on; keepalive_timeout  70; ssl_certificate /root/cert/Nginx/1_jithub.cn_bundle.crt; ssl_certificate_key /root/cert/Nginx/2_jithub.cn.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; if ($scheme != 'https') { rewrite ^(.*)$ https://$server_name$1  permanent; } location / { proxy_pass http://backend$request_uri; proxy_redirect https:// http://; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_set_header SSL_PROTOCOL $ssl_protocol; client_max_body_size  10m; } } server { listen  80; server_name jithub.cn www.jithub.cn; access_log  off; if ($host = "jithub.cn"){ return  301 https://www.jithub.cn$request_uri; } return  301 https://$server_name$request_uri; } server { listen  443; server_name jithub.cn; return  301 https://www.jithub.cn$request_uri; }
    

    启动命令

    docker run --detach --name solo --network=host \
        --env RUNTIME_DB="MYSQL" \
        --env JDBC_USERNAME="sololhc" \
        --env JDBC_PASSWORD="E]---------------#=" \
        --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
        --env JDBC_URL="jdbc:mysql://localhost:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
        b3log/solo --listen_port=8080 --server_scheme=https --server_host=www.jithub.cn
    
    1 回复
  • lai-bluejay    

    docker 的话,可以修改 latke 之类的配置项吗 ~~

  • 88250    

    现在在外面,晚上才能回去

    1 回复
  • lai-bluejay    

    明白,那晚上再联系您

  • JsonPaii  

    15536771101.png
    这个怎么设置。。我还是刚接触 solo 是个小白😳

    1 回复
  • 88250    

    1. 保持 GitHub、博客、社区三个地方用户名一致
    2. 博客和社区的 B3 Key 一致

    2 回复
  • lai-bluejay    

    对了,能帮忙再后台直接修改我的用户名吗?
    现在:

    B3:lai7bluejay
    solo: lai7bluejay
    github: lai-bluejay
    

    之前注册的时候提示用户名不能有 dash:'-',就改了一下,和 github 不一致了。

    现在 solo v3.4 的 github repo 也不自动更新了可能跟这个有关系~

    然后,每次更新 solo,首要手动 update 库里的用户名变为跟 github 一致:lai-bluejay 才能登录。

    之后提示图床不一致,又要改成 lai7bluejay。

    能帮忙修改吗,现在个人积分不够呢 ~~

    1 回复
  • 88250    

    社区已经改名完毕,带来不便请多包涵啊!

  • Wit13    

    D 大,可以帮我改下社区名吗?改成 Wit13

    1 回复
  • 88250    

    改好了 😄

    1 回复
  • Wit13    

    谢谢 D 大😂

  • Eddie  

    那个 $host="jothub.cn" 是不是错了????

  • zachnaran  

    回帖测试

    该回帖因偏离主题而被折叠,点击可展开浏览原内容
    88250 在 2019-06-04 01:11:24 折叠了该回帖
请输入回帖内容...