本篇文章录了个配套视频教程, 不想看文字的可以看视频

Youtube: https://youtu.be/1tfyC51CIOs

Bilibili: https://www.bilibili.com/video/av45262682

前言

网上讲搭建一个网站的教程的很多, 如果你是一个爱折腾的人, 完全可以自学搞定. 本篇讲的是一种比较省时省力的方式去搭建一个网站, 以搭建 WordPress 开源博客系统为例.

准备工作

  • 购买一台云服务器, 选择 centos 系统
  • 域名 (可选项, 可以用服务器 ip 访问)
  • ssh 连接工具. linux 和 mac 系统自带, windows系统需要下载相关软件.

流程

这部分是给想了解一下基本流程的人看的, 如果你不关心流程, 只想快速搭建,以下命令已放在 github 上, 可以点我直接跳转去执行总结脚本

  • 首先需要安装 docker, 官方有一键安装脚本, 直接运行即可

curl -fsSL https://get.docker.com | sh

然后需要启动 docker 并设定开机自动启动, 就不用每次重启服务器再去手动启动 docker 了

systemctl start docker && systemctl enable docker

  • 安装 docker-compose . 这是一个官方的 docker 辅助工具, 可以根据一个配置文件很容易的创建和修改容器的各种启动参数
1
2
  curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \
  chmod +x /usr/local/bin/docker-compose
简易脚本

以上流程只是安装并自启动docker和下载一些常用的工具, 我已经写成一个简单的脚本仍在 github 了, 内容基本差不多. –>直达链接

所以你可以直接执行

curl -fsSL https://raw.githubusercontent.com/abcdsxg/Tools/master/shell/docker.sh | sh

和前面讲的流程运行结果是完全一样的. 接下来继续下一步操作

WordPress有官方的 docker 镜像, 我们只需要拉取镜像并简单的配置就搞定了

拉取镜像的操作是docker pull 镜像名, 想要其他镜像可以去https://hub.docker.com/ 上搜索

如果使用 docker-compose, 其实上面那一步可以省略, 它会自动根据你的配置文件去拉取镜像. 现在尝试以 docker-compose的方式 编写一个 docker-compose.yaml 文件并启动容器

  • 新建一个 docker-compose.yaml文件, 复制以下内容

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    version: '3.1'
        
    services:
      wordpress:
        image: wordpress
        restart: always
        volumes:
            - ./website:/var/www/html #你网站上除了数据库外所有的数据,挂载出来方便备份
        ports:
            - 80:80
        environment:
            WORDPRESS_DB_HOST: db #连接数据库的地址,必须要用依赖的服务的名字,这里是 db
            WORDPRESS_DB_USER: root #你自定义连接数据库的用户名,但需要和下面的mysql设置的要一致
            WORDPRESS_DB_PASSWORD: mysqlpass #你自定义连接数据库的密码,但需要和下面的mysql设置的要一致
            WORDPRESS_DB_NAME: exampledb #你自定义的数据库名字,但需要和下面的mysql设置的要一致
        
      db:
        image: mysql:5.7
        restart: always
        volumes:
            - ./mysql_data/data:/var/lib/mysql #把数据库数据挂载出来方便备份,当然也可以用数据卷的形式(自行学习)
        environment:
            MYSQL_DATABASE: exampledb #数据库名字
            MYSQL_USER: exampleuser #数据库用户名
            MYSQL_ROOT_PASSWORD: mysqlpass #数据库密码
            
  • 执行docker-compose up -d 启动上面写的两个服务, 如果没有报错就大工告成了, 现在访问你的服务器 ip看看效果吧