基于 Solo 通过阿里云服务器搭建个人博客

1、部署环境列表

系统 阿里云 Centos7.2
JDK 1.8
solo 方式 Docker
数据库 Docke-mysql 5.7

2、 安装 JDK

首先

yum search java|grep jdk

通过这句话,可以查看版本目录

然后选择自己想要的版本

yum install java-1.8.0-openjdk

下载完成后,配置环境变量

vim /etc/profile

打开系统配置文件,移动光标到最后一行

JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

最后,让配置生效

source /etc/profile

查看是否成功

java -version

3、安装 docker

安装 Dokcer

yum -y install docker

启动 Docker 后台服务

service docker start

测试运行 hello world

docker run hello-world

异常处理,运行报错

container_linux.go:247: starting container process caused "process_linux.go:258: applying cgroup configuration for process caused \"Cannot set property TasksAccounting, or unknown property.\""
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:258: applying cgroup configuration for process caused \"Cannot set property TasksAccounting, or unknown property.\"".

主要原因是 CentOS 系统版本兼容性问题

yum update

重启 Docker

systemctl restart docker.service

执行

docker run hello-world
#成功运行
Hello from Docker!
This message shows that your installation appears to be working correctly.

4、 安装 MySQL

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
# 安装mysql:5.7,直接docker run 他会自动去官方镜想下载
# MYSQL_ROOT_PASSWORD=你的数据库密码

查看运行中的容器

docker ps
#查询结果
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                               NAMES
04e879c94150        mysql:5.7           "docker-entrypoint..."   About a minute ago   Up About a minute   0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

初始化 MySQL

docker exec -it mysql bash		# 进入容器内部
mysql -uroot -p123456                   # 连接mysql,创建数据库
create database solo DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
#退出
exit;
exit

测试连接:docker 容器安装的 MySQL 默认允许远程连接,使用 SQLyog 测试连接成功。

**注意:**mysql 使用的端口 3306 需要在阿里云安全组策略中开放。

5、 安装 solo

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" \
--rm b3log/solo --listen_port=7001 --server_scheme=http --server_host=www.codefun.space

测试安装是否成功

docker ps

如果容器中存在 solo,没有报错,则安装成功访问

  • Solo

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

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

    1200 引用 • 9187 回帖 • 631 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    79 引用 • 328 回帖

赞助商 我要投放

5 回帖
请输入回帖内容 ...
  • 88250
    1. Solo 用 Docker 运行的话就不用安装 Java 环境了
    2. MySQL 用 Docker 运行的话不挂卷有点危险,容器误删的话数据就丢了
    3. 建议再加个 NGINX 进行反代
    1 回复
  • zhangshuai

    谢谢大佬指点 🙏

  • howie404

    你能不能给我们写个详细的完美教程,最好小白都能看懂的 😄

    2 回复
  • 88250

    请参考 Solo 用户指南

  • InkDP