使用 docker 部署 solo 博客系统

坡上秋草的博客 相信技术的力量! 本文由博客端 https://www.cgblogs.top 主动推送

天太冷了,手都僵硬了.又把 solo 博客搭了一下,以前搭好后写了一些文章,都不甚认真,我觉得写博客应该是一种学习习惯.对技术有热爱的人们应该把自己所学展示出来,给予需要的人以帮助.计算机技术本身就蕴含着分发分享的意义,事实上,大多数技术人都热爱分享,热心助人.并以此为乐.在分享的氛围中,学习是快乐的.

下面说下 solo 的搭建.机器安装好 docker,mysql.阿里云注意开放相应端口,事先按照 solo 官方安装教程在 mysql 中建好 solo 库.然后我们在 docker 中起两个容器,命令如下:

docker run -d -p 80:80 -p 443:443 --name nginx \
-v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /root/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /root/nginx/www:/usr/share/nginx/html \
-v /root/nginx/ssl:/ssl/ \
-v /root/nginx/logs:/var/log/nginx \
nginx:latest
docker run --detach --name solo --network=host \
    --env RUNTIME_DB="MYSQL" \
    --env JDBC_USERNAME="root" \
    --env JDBC_PASSWORD="123456" \
    --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
    --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \
    b3log/solo --listen_port=8080 --server_scheme=https --server_host=www.cgblogs.top --server_port=

这里我配置了 https,使用 nginx 做反向代理,我按照官方做法配置 nginx 发现不能访问,好像反向代理不成功,我把 server_name 改成域名后就正常了,如果你遇到类似的问题,可以尝试这样解决.下面贴一下我的 nginx 配置文件 default.conf.

upstream backend {
   server www.cgblogs.top:8080;
}
server {
    listen       443;
    listen  [::]:443;
    server_name  cgblogs.top;
    ssl on;
    charset utf-8;
    access_log  /var/log/nginx/host.access.log  main;

    ssl_certificate /ssl/xxx.pem;
    ssl_certificate_key /ssl/xxx.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
  
    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;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }  
}
server{
  listen 80;
  server_name cgblogs.top;
  rewrite ^(.*) https://$host$1 permanent;
}

有问题可以一起讨论.

广告 我要投放

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • AzumaTokaku

    非常感谢,帮大忙了,调试了半天看了大佬的帖子才调通反向代理 😂