Solo blog 配置记录

自从Docker用顺手之后,什么东西都可以直接使用Docker快速部署了,Solo blog官方文档的docker说明是这样的:

1
2
3
4
5
6
7
docker run --detach --name solo --volume ~/solo_h2/:/opt/solo/h2/ --publish 8080:8080 \
   --env RUNTIME_DB="H2" \
   --env JDBC_USERNAME="root" \
   --env JDBC_PASSWORD="123456" \
   --env JDBC_DRIVER="org.h2.Driver" \
   --env JDBC_URL="jdbc:h2:/opt/solo/h2/db;MODE=MYSQL"\
   b3log/solo --listen_port=8080 --server_scheme=http >--server_host=localhost --server_port=

其中

--listen_port:进程监听端口
--server_scheme:最终访问协议,如果反代服务启用了 HTTPS 这里也需要改为 https
--server_host:最终访问域名或公网 IP,不要带端口
--server_port:最终访问端口,使用浏览器默认的 80 或者 443 的话值留空即可

根据项目文档的说明我改了一下,就是下面这样的

我的docker配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
docker run --detach --name solo --publish 8008:8080 \
    --volume /var/www/solo/h2/:/opt/solo/h2/ \
    --volume /var/www/solo/markdowns/:/opt/solo/markdowns/ \
    --volume /var/www/solo/plugins/:/opt/solo/plugins/ \
    --volume /var/www/solo/skins/:/opt/solo/skins/ \
    --env RUNTIME_DB="H2" \
    --env JDBC_USERNAME="root" \
    --env JDBC_PASSWORD="123456" \
    --env JDBC_DRIVER="org.h2.Driver" \
    --env JDBC_URL="jdbc:h2:/opt/solo/h2/db;MODE=MYSQL" \
    b3log/solo --listen_port=8080 --server_scheme=http --server_host=blog.lomot.top --server_port=80

其中要注意的地方是这个选项--volume /var/www/solo/markdowns/:/opt/solo/markdowns/ ,把markdown文件放入这个文件夹,重启solo后端就能自动导入从其他地方导出的博客。 从 Hexo / Jekyll / Markdown 导入 。还有pluginsskins这两个文件夹是可选的,如果只使用自带的插件和皮肤就不需要映射。

nginx 反代配置

服务器上有多个网站的情况下可以用nginx反向代理

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
server {
    listen 80;
    server_name blog.lomot.top;
    root /var/www/blog.lomot.cn;
    include /etc/nginx/default.d/*.conf;
    location / {
        index index.html;
        proxy_pass http://localhost:8008;
    }
}

Solo Blog项目地址为 https://github.com/b3log/solo