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

本贴最后更新于 1617 天前,其中的信息可能已经渤澥桑田

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
  • --env JDBC_PASSWORD="123456" 将 123456 换成你的密码
  • --listen_port=7001 监听的端口
  • --server_scheme=http 请求方式,暂时使用 http,后面我们会换成 https
  • --server_host=blog.itzhouq.cn 你的域名,如果你没有域名可以写 ip 地址
  • --rm 因为这个容器后面要删掉,带上 rm 会省很多事。
  • **注意:**使用的端口 7001 需要在阿里云安全组策略中开放

测试安装是否成功

docker ps

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

  • Solo

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

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

    1434 引用 • 10054 回帖 • 490 关注
  • 阿里云

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

    89 引用 • 345 回帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • zhangshuai
    作者

    谢谢大佬指点 🙏

  • 其他回帖
  • 请参考 Solo 用户指南

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

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

    2 回复
  • 查看全部回帖