"[图片] 购买服务器 我这里选的是阿里云的 ecs 服务器,实在是因为阿里云服务太好了。 以下是本人的配置,个人感觉完全够用。 [图片] 购买域名 _(:3 」∠)_ 既然是在阿里云买服务器,最好域名也在阿里云购买,如果域名有在其他地方买过,没关系,可以域名转入,具体流程需要你去问购买域名的客服。 域名备案 如果购买的 .."

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

点击展开正文内容

购买服务器

我这里选的是阿里云的 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

感谢    关注    收藏    赞同    反对    举报    分享
20 回帖    
请输入回帖内容...
  • Wit13      

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

    1 回复 
    感谢    赞同    反对    举报    分享       评论    回复
  • 其他回帖
  • thetbw      

    新手不用 docker 可能更简单些

    1 回复 
    感谢    赞同    反对    举报    分享       评论    回复
  • BlackWhite2000            

    (:3 」∠) 只要能出效果,我就满足了。之前看过很多教程,都卡在环境配置这块

    感谢    赞同    反对    举报    分享       评论    回复
  • BlackWhite2000            

    大佬啊。。我这个方法也试过,但一直出现 nginx 默认页面 _(:3 」∠)_ 我看了好几个零基础教程,硬是整不出来

    1 回复 
    感谢    赞同    反对    举报    分享       评论    回复
  • 查看更多回帖