【Solo】搭建 solo 艰辛之路,纯新手的简单易用教程

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

购买服务器

我这里选的是阿里云的 ecs 服务器,实在是因为阿里云服务太好了。
以下是本人的配置,个人感觉完全够用。
配置.jpg

购买域名

_(:3 」∠)_既然是在阿里云买服务器,最好域名也在阿里云购买,如果域名有在其他地方买过,没关系,可以域名转入,具体流程需要你去问购买域名的客服。

域名备案
如果购买的服务器是大陆的话,就需要备案域名,具体流程过于复杂,还是去看阿里云的流程说明吧~~如果感觉麻烦可以去买海外或者国外的,就不需要备案了,备案时间也蛮久的。

安装 docker、docker-compose

点我跳转安装教程

以防万一我这里也写一下,当然我自己也是按照安装教程一步一步无脑复制黏贴指令的_(:3 」∠)_ 但各位最好还是去原作者那里,感谢教程原作者

一、docker 安装

1,卸载旧版本 docker

全新安装时,无需执行该步骤

$ sudo apt-get remove docker docker-engine docker.io

2,更新系统软件

$ sudo apt-get update

3,安装依赖包

$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

4,添加官方密钥

执行该命令时,如遇到长时间没有响应说明网络连接不到 docker 网站,需要使用代-理进行。

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

显示 OK,表示添加成功.

5,添加仓库

$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

6,再次更新软件

经实践,这一步不能够省略,我们需要再次把软件更新到最新,否则下一步有可能会报错。

$ sudo apt-get update

7,安装 docker

如果想指定安装某一版本,可使用 sudo apt-get install docker-ce= 命令,把替换为具体版本即可。

以下命令没有指定版本,默认就会安装最新版

$ sudo apt-get install docker-ce

8,查看 docker 版本

$ docker -v

显示“Docker version 17.09.0-ce, build afdb6d4”字样,表示安装成功。

二、docker-compose 安装

1,下载 docker-compose

$ sudo curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

2,授权

$ sudo chmod +x /usr/local/bin/docker-compose

3,查看版本信息

$ docker-compose --version

显示出版本信息,即安装成功。

安装 solo-in-docker 解决后续环境配置问题

点我跳转项目

不得不说这个真的是解决了我很多问题
只需要下载项目,我自己是把项目解压到 opt 里面,之后修改配置 docker-compose.yml 文件

services:
  mysql:
    container_name: mysql
    image: mysql:5.5.60
    restart: always
    volumes:
      - ./mysql/data:/var/lib/mysql //mysql的数据文件存放地址
      - ./mysql/conf/mysqld.conf:/etc/mysql/mysql.conf.d/mysqld.cnf //mysql的配置文件存放地址
    ports:
      - "6603:3306" //6603代表宿主机端口,3306代编容器的端口
    environment:
      - MYSQL_ROOT_PASSWORD=adminadmin //mysql的root账号密码
  solo:
    container_name: solo
    image: b3log/solo //直接使用最新版本的solo镜像
    restart: always
    ports:
      - "8080:8080" //如果要部署到线上的话,请改为"80:80",同时修改下面的--listen_port=80
    environment: //此处配置solo跟mysql的连接设置,来源为上面启动的mysql容器,如果要用自己的mysql服务,那么请将mysql的servcie去掉
      RUNTIME_DB: "MYSQL"
      JDBC_USERNAME: "root"
      JDBC_PASSWORD: "adminadmin"
      JDBC_DRIVER: "com.mysql.jdbc.Driver"
      JDBC_URL: "jdbc:mysql://mysql:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" //此处,因为solo跟mysql同为docker容器,所以可以直接使用容器名 + 容器端口来访问
    command: --listen_port=8080 --server_scheme=http --server_host=www.liumapp.com //按照solo官方要求,在solo启动之初,配置solo的域名、端口,如果是本地测试的话,将host改为localhost即可

这是作者提供的配置文件以及备注,我们只需要把 ports: 以及 listen_port=8080 改为 80
还有 server_host= 的域名改为你自己的即可。
这个项目真的帮了我很大忙,再次感谢作者~

最后的最后,附上自己的博客 http://www.bwxyz.top

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • Wit13

    我也是新手,但是弄 docker,就是卡在这里,我现在用的是放在 tomcat 的 webapps 下的那种方法

    1 回复
  • 其他回帖
  • liumapp

    我就是 solo-in-docker 的作者,很开心这个项目能够帮助大家搭建 solo,另外补充几点:

    1. docker-compose 只是一个 docker 容器的编排工具,本质还是 docker 容器在运行
    2. 每一次命令 docker-compose 启动的时候,都会自动拉取最新 solo 的镜像,所以自动更新非常简单
    3. 数据备份问题,docker 容器死亡的时候,容器内数据会自动清除,除非我们使用 volumes 构建映射关系,这里我只将最重要的 mysql 数据库文件映射在 mysql/data 目录下
  • _(:3 」∠)_可以参考 https://hacpai.com/article/1554369181979 我之前发的帖子
    可能是配置出了问题,或者说不知道怎么配置。
    可能程序员一看就懂吧,但我没有了解过这块,完全看不懂。。只能乖乖按别人发的零基础教程来搞。我是一个设计工作者,最多就会点 html、css、js

    1 回复
  • 哦,明白了。不过我强烈建议用 docker 搭建,不然以后升级版本很麻烦啊,有空的话还是折腾一下吧 😄

    2 回复
  • 查看全部回帖