Docker搭建b3log solo

创建数据库

  1. 库名 solo,字符集使用 utf8mb4,排序规则 utf8mb4_general_ci

启动容器

修改env中具体的mysql值

docker run --detach --name solo --network=host \
--env RUNTIME_DB="MYSQL" \
--env JDBC_USERNAME="" \
--env JDBC_PASSWORD="" \
--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" \
b3log/solo --listen_port=12001 --server_scheme=http --server_host=218.17.186.161

启动参数说明

  • —listen_port:进程监听端口
  • —server_scheme:最终访问协议,如果反代服务启用了 HTTPS 这里也需要改为 https
  • —server_host:最终访问域名或公网 IP,不要带端口号

    配置域名https(可选)

  1. 修改启动参数如下
    —server_scheme=https
    —server_host=blog.lazypg.com
  2. nginx配置

    server {
          listen 443 ssl;
          listen 80;
          server_name blog.lazypg.com;
      ssl on;
      root html;
      index index.html index.htm;
      ssl_certificate   /usr/local/nginx/cert/blog.pem;
      ssl_certificate_key  /usr/local/nginx/cert/blog.key;
      ssl_session_timeout 5m;
      ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
      ssl_prefer_server_ciphers on;
         location / {
             proxy_pass http://192.168.2.12:12001;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_set_header X-Forwarded-Proto $scheme;
             proxy_set_header X-Forwarded-Port $server_port;
      }
    }
    

    更新docker

  3. docker pull b3log/solo

  4. docker stop solo
  5. docker rm solo
  6. 重新启动容器

    导入主题

  7. 进入容器 docker exec -it solo /bin/sh

  8. cd /opt/solo/skins
  9. wget https://github.com/zjhch123/solo-skin-amaze/archive/master.zip
  10. unzip master.zip
  11. 进入后台选择主题