从零开始阿里云CentOS搭建Solo博客

注:

确保 yum 包更新到最新, CentOS是基于linux建立的操作系统,因为linux与docker版本的兼容性问题,不是最新的到后面可能出现兼容性问题导致docker或者mysql等应用因为兼容性问题无法启动.

#初始化
yum clean all
#更新
yum update

(使用的finalshell - SSH工具,自动翻译为中文了,英文请自行对照)
在这里插入图片描述
输入y同意后等待更新成功即可

1.安装jdk

#查看服务器是否有jdk,没有java指令,需要自己安装jdk
java -version

在这里插入图片描述

#安装jdk 1.8
yum install java-1.8.0-openjdk.x86_64`

在这里插入图片描述

输入y同意后开始安装
在这里插入图片描述

#安装完毕后输入,显示jdk版本信息,即安装成功.
java -version

在这里插入图片描述

2.安装docker

#安装docker
yum install docker
#安装完毕后
#docker开机自启
systemctl enable docker
#运行docker
systemctl start docker  

在这里插入图片描述

#输入 docker version 校验是否安装并启动成功
docker version
#有client和service两部分表示docker安装启动都成功了

在这里插入图片描述

3.docker内安装mysql

#docker下拉mysql镜像
docker pull mysql:5.7.16

下载完成后:

#查看拉下来的镜像
docker images

在这里插入图片描述

#准备文件夹
mkdir -p /opt/mysql/data /opt/mysql/logs /opt/mysql/conf
  • data目录将映射为mysql容器配置的数据文件存放路径
  • logs目录将映射为mysql容器的日志目录
  • conf目录里的配置文件将映射为mysql容器的配置文件
#运行镜像创建容器
docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.16

在这里插入图片描述
出现报错了,发现应该是linux与docker版本的兼容性问题,所以一定保证保证自己的yum是最新,可以尝试更新yum包后尝试再次启动,为避免此类情况,建议一开始就更新。

命令说明:
* -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
* -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
* -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
* -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
* -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
#查看正在运行的容器
docker ps   #-a  加上后可以查看所有容器

在这里插入图片描述

出现此画面就是已经启动。

#进入容器mysql
docker exec -it mysql bash
#进入数据库 p后面跟你的密码
mysql -uroot -p123456

在这里插入图片描述

#创建数据库(数据库名:solo;字符集utf8mb4;排序规则utf8mb4_general_ci)
create database solo DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
#出现Query OK, 1 row affected (0.00 sec)表示成功
#退出数据库
exit
#退出容器
exit

在这里插入图片描述

4.docker内安装Solo

#获取最新镜像
docker pull b3log/solo
#拉取完毕后查看镜像
docker images 

在这里插入图片描述

#启动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" \
b3log/solo --listen_port=8080 --server_scheme=http --server_host=www.wanzizoo.com
  • detach: 这个选项告诉 Docker 在启动后将程序与控制台分离,使其进入“后台”运行。
  • name solo: solo是容器的名字,也可以改成自己喜欢的名字如mysolo,这个无所谓
  • RUNTIME_DB=“MYSQL”: 指明我们此处使用的数据库为MYSQL,如果使用,H2 Database,将MYSQL改成org.h2.Driver即可
  • JDBC_USERNAME=“root”: 指明MYSQL数据连接时使用的用户名,默认都是root
  • JDBC_PASSWORD=“123456”: 指明MYSQL数据库连接时用户密码,使用时注意将123456替换成自己在上一步所设置的密码
  • env JDBC_DRIVER=“com.mysql.cj.jdbc.Driver”:数据库连接驱动包,如果使用,H2 Database,将om.mysql.cj.jdbc.Driver改成H2即可
  • server_host=www.wanzizoo.com: 个人域名,如果没有可设置为自己的服务器ip
  • env JDBC_URL=“……”数据库jdbc地址,ip根据自己更换
  • listen_port=8080:指明solo监听的端口此处使用的是8080,如果不想配置nginx此处可以换成80

在这里插入图片描述

命令执行完成之后没有报错的话,通过docker ps查看当前当前容器列表中是否有名字叫solo的容器,如果有证明启动成功了,没有solo,可输入 docker logs solo查看日志排查,启动成功后可以通过个人域名/ip+:端口来进行访问,类似http://www.wanzizoo.com:8080,如果不想配置nginx可以将8080换成80,可以直接通过域名/ip来直接进行访问,类似wanzi的博客–https://wanzizoo.com。不出意外会出现如下界面(如果出现不能访问的情况考虑是否是防火墙配置有问题,查看是否开放8080或者80端口):
在这里插入图片描述

5.Nginx安装ssl配置(可选)

vcjmhg—— https://blog.csdn.net/Startapi/article/details/102230007?utm_source=app
这里已经讲的很详细了,可以看看。

部分内容参考:

vcjmhg—— https://blog.csdn.net/Startapi/article/details/102230007?utm_source=app

Solo官方文档—-https://hacpai.com/article/1492881378588

aing22392——https://blog.csdn.net/aing22392/article/details/101502012?utm_source=app

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值