点击关注公众号,利用碎片时间学习
今天和大家聊一个轻松、好玩、易懂的话题,就是教大家搭建一个自己的个人博客网站,可以在同事朋友面前炫耀一把。
准备工作
开头的准备工作还是那么两样,安装docker
和配置镜像加速器,如果还不会的同学可以看下《初识docker》,这是预备知识。然后今天我们是用 docker compose
来实现的,所以还需要安装下 docker compose
,我们先打开官网看到上面有步骤。
初识docker:
https://juejin.im/post/6844904122672480270
我们按步骤操作下
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose docker-compose --versionsudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose docker-compose --versionsudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose docker-compose --version
测试一下,安装成功了
拉取镜像
安装个人博客的核心是 wordpress
开源框架,源码界面全都帮我们集成好了,所以我们只需要拉取它的镜像,当然我们还需要一个数据库来存储数据,所以还得拉一个mysql。
docker pull wordpress docker pull mysql:5.6docker pull wordpress docker pull mysql:5.6docker pull wordpress docker pull mysql:5.6
创建yml文件
首先说下什么是 docker compose
,前面我们使用 docker
的时候,定义 dockerfile
文件,然后使用 docker build
、docker run
等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知。
而 docker compose
的作用就是可以让我们轻松、高效的管理容器,它是一个用于定义和运行多容器 docker
的应用程序工具。
1、先创建一个文件夹
mkdir -p /jackxu/wordpressmkdir -p /jackxu/wordpressmkdir -p /jackxu/wordpress
2、进入到目录,创建一个 yml 文件。
这里我指定了一个网络,如果不指定的话会默认帮我们创建一个bridge类型的网络。
vi docker-compose.yml version: '3' services: wordpress: image: wordpress restart: always ports: - 80:80 environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: exampleuser WORDPRESS_DB_PASSWORD: examplepass WORDPRESS_DB_NAME: exampledb networks: - jackxu-net volumes: - wordpress:/var/www/html db: image: mysql:5.6 restart: always environment: MYSQL_DATABASE: exampledb MYSQL_USER: exampleuser MYSQL_PASSWORD: examplepass MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: - db:/var/lib/mysql networks: - jackxu-net volumes: wordpress: db: networks: jackxu-net: driver: bridgevi docker-compose.yml version: '3' services: wordpress: image: wordpress restart: always ports: - 80:80 environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: exampleuser WORDPRESS_DB_PASSWORD: examplepass WORDPRESS_DB_NAME: exampledb networks: - jackxu-net volumes: - wordpress:/var/www/html db: image: mysql:5.6 restart: always environment: MYSQL_DATABASE: exampledb MYSQL_USER: exampleuser MYSQL_PASSWORD: examplepass MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: - db:/var/lib/mysql networks: - jackxu-net volumes: wordpress: db: networks: jackxu-net: driver: bridgevi docker-compose.yml version: '3' services: wordpress: image: wordpress restart: always ports: - 80:80 environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: exampleuser WORDPRESS_DB_PASSWORD: examplepass WORDPRESS_DB_NAME: exampledb networks: - jackxu-net volumes: - wordpress:/var/www/html db: image: mysql:5.6 restart: always environment: MYSQL_DATABASE: exampledb MYSQL_USER: exampleuser MYSQL_PASSWORD: examplepass MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: - db:/var/lib/mysql networks: - jackxu-net volumes: wordpress: db: networks: jackxu-net: driver: bridge
3、把 docker compose 启动起来
docker-compose up -ddocker-compose up -ddocker-compose up -d
好,成功了,稳了!
配置博客网站
接着我们来访问一下 域名+wp-admin/install.php
,进行博客的语言的选择,网站的账号密码选择,一直点下一步下一步,很简单。
进入后台可以设置博客的皮肤、名称,发文章,管理评论,管理用户等各种功能。
配置好以后,别人就能通过你的域名访问啦!
总结
至此,三分钟教你搭建一个个人博客网站全部结束,最后总结几点:
本文用的是 docker compose
的方式搭建,如果小伙们不想用的话可以用原生的方式哦,命令如下:
docker run -d --name jackmysql -e MYSQL_ROOT_PASSWORD=examplepass -e MYSQL_DATABASE=db_wordpress -p 3306:3306 mysql:5.6 docker run -d --name jackwordpress --link jackmysql -e WORDPRESS_DB_HOST=jackmysql:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=examplepass -e WORDPRESS_DB_NAME=db_wordpress -p 80:80 wordpressdocker run -d --name jackmysql -e MYSQL_ROOT_PASSWORD=examplepass -e MYSQL_DATABASE=db_wordpress -p 3306:3306 mysql:5.6 docker run -d --name jackwordpress --link jackmysql -e WORDPRESS_DB_HOST=jackmysql:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=examplepass -e WORDPRESS_DB_NAME=db_wordpress -p 80:80 wordpressdocker run -d --name jackmysql -e MYSQL_ROOT_PASSWORD=examplepass -e MYSQL_DATABASE=db_wordpress -p 3306:3306 mysql:5.6 docker run -d --name jackwordpress --link jackmysql -e WORDPRESS_DB_HOST=jackmysql:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=examplepass -e WORDPRESS_DB_NAME=db_wordpress -p 80:80 wordpress
讲解一下docker-compose.yml
文件里的内容
(1)version: '3'
-
表示
docker-compose
的版本
(2)services
-
一个
service
表示一个container
(3)networks
-
相当于
docker network create app-net
(4)volumes持久化
-
相当于
-v v1:/var/lib/mysql
(5)image
-
表示使用哪个镜像,本地build则用build,远端则用image
(6)ports
-
相当于
-p 8080:8080
(7)environment
-
相当于
-e
域名访问
最后回到开篇提到我的同事也有域名,但是他是用树莓派+花生壳的技术,这样有个好处就是省钱,不用买单独的服务器,而缺点是需要一直开机,占用电源、占用地方;有断网服务器不能访问的风险;此外登录主机外网也是不能访问的,只能和树莓派在同一个网络;以及网络运营商可能会封80端口等问题。
最后补充,WordPress建站非常不错,完全开源,有众多优秀的主题样式可选。你也可以点击下面阅读原文,看看这款技术博客怎么样~
来源:juejin.im/post/6844904191933022222
推荐:
PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我们吧!
原文链接:https://blog.csdn.net/weixin_38405253/article/details/125176072