0%

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