solo 用 docker 安装,并用 nginx 配置 https 教程

本贴最后更新于 1653 天前,其中的信息可能已经时移世易

安装 Solo

可以参考其他大佬部分信息安装下载
Solo 用户指南
Solo 从设计到实现

1. 安装 docker

2. 下载 Solo 的镜像

docker pull b3log/solo

3. 安装启动 solo 容器

我用的 mysql8.0;1101 端口和 1102 端口(ssl 用的 1101)

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://192.168.*.*:3306/***?useUnicode=true&characterEncoding=UTF-8&useSSL=true&serverTimezone=PRC&&allowPublicKeyRetrieval=true" \
    b3log/solo --listen_port=1102 --server_scheme=https --server_host=www.***.com --server_port=1101 

4. 配置 nginx 的 nginx.conf

此文件默认在/etc/nginx 下

events
    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }
http{
  gzip on;
  gzip_min_length  1k;
  gzip_buffers     4 16k;
  gzip_http_version 1.1;
  gzip_comp_level 2;
  gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
  gzip_vary on;
  gzip_proxied   expired no-cache no-store private auth;
  gzip_disable   "MSIE [1-6]\.";

  server_tokens off;
  access_log off;

  upstream backend {
    server 127.0.0.1:1102; # Solo 监听端口
  }

  server {
    server_name www.***.com;
    listen 1101 ssl http2;
    ssl_certificate /etc/nginx/ssl_certs/1_www.***.com_bundle.crt;
    ssl_certificate_key /etc/nginx/ssl_certs/2_www.***.com.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
    ssl_session_cache builtin:1000 shared:SSL:10m;
    location / {
        proxy_pass http://backend$request_uri;
        proxy_set_header  Host $http_host;
        proxy_set_header  X-Real-IP $remote_addr;
        client_max_body_size  10m;
    }
    access_log  /etc/nginx/conf.d/www.***.com.log;
  }  
}

配置完我这直接访问就 ok 了,你们有问题直接在下方留言吧,我会慢慢根据你们的问题完善此文章

  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1435 引用 • 10056 回帖 • 489 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    313 引用 • 547 回帖
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    492 引用 • 926 回帖
  • HTTPS
    99 引用 • 274 回帖 • 3 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • upstream backend 用 127.0.0.1 别用域名,不然相当于又在公网上绕了一圈。

    1 回复
  • wpengsen
    作者

    谢谢大佬指正

  • tccfy

    请问一下,之前因为使用服务器搭了 oneIndex,安装了宝塔面板来进行配置。

    nginx 是安装过的,然后按照从零开始安装 Solo 博客来进行 docker 部署 solo

    到了设置反代这一步,不知道该怎么进行下去了,ssl 证书也是已经有了的。

    这个在宝塔上怎么给 solo 配置反代??

    1 回复
  • wpengsen
    作者

    确定是宝塔安装的 nginx,会非常容易配置 https 的,可以私聊配置说