目前solo从3.6.7版本开始已经不提供war包部署了,对于一直是下载war包部署的我,有点儿一时间不知所措,研究了几天,成功用最简单的方式用上了最新版,开始:
1 环境
我用的是腾讯云,系统是Centos 7.5,系统集成了一个自带的宝塔面板,可以通过重装系统达到这个要求。
在服务器安全组开放8888宝塔面板访问端口,在通过http://{服务器ip}:8888 访问面板进入到面板主页(账号和密码按提示操作就能获取到),会提示安装一堆组件,我选择安装Nginx 1.16,MySQL 5.7,其他的不用安装。
打开宝塔面板软件商店,安装Docker管理器2.2,最终需要安装的软件这里截图一个:
2 搭建solo
2.1 新建数据库
直接上图:
这里的密码是面板随机分配的,可以保持默认。
2.2 拉取solo镜像
打开Docker管理器2.2,获取镜像,直接上图:
2.3 创建容器
这里使用的是命令行创建镜像,通过SSH连接上服务器,运行命令:
1 | docker run --detach --name solo --network=host \ |
启动参数说明(参考solo用户指南):
--listen_port
:进程监听端口--server_scheme
:最终访问协议,如果反代服务启用了 HTTPS 这里也需要改为https
--server_host
:最终访问域名或公网 IP,不要带端口--server_port
:最终访问端口,使用浏览器默认的 80 或者 443 的话值留空即可
这里我的服务器监听端口 --listen_port
是8585,你可以改成自己想要的。
注:
- 此处
--listen_port
端口不能80,不然会和nginx默认监听端口(也就是--server_port
)冲突,会报400错误。
容器创建成功后,返回到宝塔面板,进去Docker管理器2.2,查看solo容器是否创建成功。
2.4 反向代理
在宝塔面板新建一个网站,如图:
其他的默认即可,提交以后,就完成网址的创建。
点击设置,修改站点设置如图:
注:
请把域名解析到服务器。
至此,反向代理完成。
打开网址:http://solo.kangaroohy.top , 熟悉的画面它来了。
2.5 SSL
可以在步骤2.4中选择ssl,顺便把ssl配上,里边有免费的可供使用,按操作来就行了。
当然,如果要升级SSL,需要在创建容器的时候,需要指定 --server_scheme=https
,如果遇到在宝塔里申请SSL失败,可以去阿里云或者腾讯云申请免费的SSL,然后在宝塔里设置就好了,如图:
3 补充
3.1 皮肤挂载
参考这里:从零开始安装 solo 博客
1 | # 切换到服务器根目录 |
我的目录和这篇里的一样,/dockerData/solo/skins/
,然后把中意的皮肤挂载到这个目录下,我挂载了4个皮肤,如下:
删掉之前的solo容器,重新创建容器
1 | # 停掉solo |
1 | docker run --detach --name solo --network=host \ |
在之前的基础上,新加了一个皮肤挂载 --volume /dockerData/solo/skins/:/opt/solo/skins/
3.2 Docker
docker常用命令:Docker 容器操作 常用命令
好了,是时候去迁移数据库信息了。。