基于 Docker 安装 Solo 博客

本贴最后更新于 1829 天前,其中的信息可能已经天翻地覆

首先请先安装好 docker 和 nginx,教程后面补上。

拉取镜像

这一步不是必需的,因为 docker run 的时候如果镜像不存在,会自动拉取镜像。

docker pull b3log/solo
docker pull mysql:5.7

运行 mysql

注意修改 root 密码。如果要修改访问端口,可以修改前面的,我这里设置成了 3308。mysql 的数据卷绑定到了主机的~/volume/mysql 目录。

docker run -p 3308:3306 -v ~/volume/mysql/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

创建数据库

库名 solo,字符集 utf8mb4,排序规则 utf8mb4_general_ci。

这一步我是在 Navicat 上操作的,sql 后面补上。

运行 solo

我安装过程中,复制命令导致--写成了—,导致安装后访问不了,这里要注意下。

docker run --detach --name solo --network=host \
    --env RUNTIME_DB="MYSQL" \
    --env JDBC_USERNAME="root" \
    --env JDBC_PASSWORD="root" \
    --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
    --env JDBC_URL="jdbc:mysql://127.0.0.1:3308/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
    b3log/solo --listen_port=8080 --server_scheme=http --server_host=blog.bughub.top --server_port=8080

配置 nginx

# 指定应用访问地址
upstream blog_pool {
    server localhost:8080;
}

server {
    listen       80; # 监听端口
    server_name  blog.bughub.top; # 监听域名
    access_log off;

    # 将所有请求转发给blog_pool池的应用处理
    location / {
	proxy_pass http://blog_pool$request_uri;
	proxy_set_header  Host $host:$server_port;
        proxy_set_header  X-Real-IP  $remote_addr;
	client_max_body_size  10m;
    }
}
  • Solo

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

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

    1434 引用 • 10054 回帖 • 490 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖
  • Docker

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

    491 引用 • 917 回帖
  • NGINX

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

    311 引用 • 546 回帖

相关帖子

欢迎来到这里!

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

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