首先请先安装好 docker 和 nginx,教程后面补上。 拉取镜像 这一步不是必需的,因为 docker run 的时候如果镜像不存在,会自动拉取镜像。 docker pull b3log/solo docker pull mysql:5.7 运行 MySQL 注意修改 root 密码。如果要修改访问端口,可以修改 ..

基于 Docker 安装 Solo 博客

首先请先安装好 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 的时候如果镜像不存在,会自动拉取镜像。

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 构思

    924 引用 • 7008 回帖 • 664 关注
  • 安装

    你若安好,便是晴天。

    87 引用 • 1028 回帖
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。

    281 引用 • 667 回帖 • 576 关注
  • NGINX

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

    231 引用 • 440 回帖 • 601 关注
回帖
请输入回帖内容...