[图片] 1.首先你得有自己的服务器,没有就去买一台吧。 2.在你的服务器上安装一个 Liunx 系统,CentOS 或者 Ubuntu(我使用的是 Centos7.*) 3.安装 docker(使用 yum,一步到位) // 安装docker yum -y install docker-ce // 启动 Docker ..

Docker 从零开始安装开源博客 solo

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

1JAJ910fg52ODIRZjHXASBQ.png

1.首先你得有自己的服务器,没有就去买一台吧。

2.在你的服务器上安装一个 Liunx 系统,CentOS 或者 Ubuntu(我使用的是 Centos7.*)

3.安装 docker(使用 yum,一步到位)

// 安装docker
yum -y install docker-ce

// 启动 Docker 后台服务
systemctl start docker

4.安装并允许 Mysql(MySQL 版本需 5.7+)

// 使用docker下载mysql 8.0
docker pull mysql:8.0

// * 运行mysql
// * XXXX处换成你的mysql密码
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=XXXX -d mysql8.0

// * docker安装的mysql默认允许远程连接,可以使用Navicat等软件连接数据库
// * 如果不能远程连接,则进入容器mysql进行修改(方法自行Google)
// * 创建solo使用的数据库(使用客户端连接忽略命令行)
// * 进入容器mysql
docker exec -it mysql bash

// 进入数据库
mysql -uroot -pXXX

// 创建数据库(数据库名:solo;字符集utf8mb4;排序规则utf8mb4_general_ci)
create database solo DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

// 退出mysql
exit;

// 退出容器
exit

5.下载 solo,并启动 solo

// 下载solo
docker pull b3log/solo

// * 启动solo
// * JDBC_PASSWORD="你的数据库密码"
// * listen_port=80 监听你想监听的端口
// * server_scheme=http/https https好像有点麻烦,自己鼓捣吧
// * server_host=XXX IP地址或域名,使用域名时尽量写全,如www.jinjianh.com。
docker run --detach --name solo \
--network=host --env RUNTIME_DB="MYSQL" \
--env JDBC_USERNAME="root" \
--env JDBC_PASSWORD="XXX"  \
--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&allowPublicKeyRetrieval=true&serverTimezone=UTC" \
b3log/solo --listen_port=80 --server_scheme=http --server_host=XXXX

over

访问你的域名或者 ip 就能进入你的 solo 了

1c8c8400211e7de628088f9e1980aff74247c9c2.png1320w590h.webp

使用 GitHub 账号登录即可

最后的最后:solo 很好看,看板娘很萌

GitHub solo 地址: https://github.com/b3log/solo

  • Docker

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

    308 引用 • 717 回帖 • 523 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    184 引用 • 199 回帖 • 504 关注
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。

    Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!
    具体细节请浏览 B3log 构思

    1050 引用 • 8025 回帖 • 639 关注
  • 环境搭建
    8 引用 • 12 回帖
1 操作
InkDP 在 2019-06-03 18:22:55 更新了该帖
8 回帖
请输入回帖内容...
  • 88250

    使用 Docker 的话不用安装 Java 的。

  • lovegxy 1

    不装 Java 一直出不来,才不得不装的

  • zvyglei

    image.png
    image.png
    楼主,我按你的步骤,执行最后一步时报错:unknown flag: --listen_port。能帮忙看下是咋回事吗,我是少装东西了吗?

    2 回复
  • 88250

    你好,应该是整个命令行换行有问题,麻烦拷贝到文本编辑器里,把最后的 \ 去掉,然后再整理好参数粘贴试试。

  • InkDP

    你看下是不是 80 端口占用了呢

  • Cayyy

    您好,可以请教一个问题吗?

    TIM 图片 20190627103439.png
    在启动 Doker 时,提示未知的字段 --name

    TIM 截图 20190627103529.png
    于是我尝试将后台运行的字段删除后,又提示没有 network

    TIM 截图 20190627105219.png
    也曾尝试将 / 去掉整理后 执行命令,也是提示没有 name 字段

    尝试了两天,有点茫然。麻烦你了

    1 回复
    1 操作
    Cayyy 在 2019-06-27 10:53:44 更新了该回帖
  • InkDP

    你看下是不是已经存在名字为 solo 的容器了 docker ps -a

    1 回复
  • Cayyy

    谢谢,找到问题了,可能是因为 docker 启动时,空格有问题,经过不断尝试,在 xshell 中手动输入启动命令启动成功了 😭

请输入回帖内容 ...