docker搭建wordpress个人博客网站,轻量级

docker搭建wordpress个人博客网站,轻量级

一、概述

1.1 概要

今天将会教大家通过docker 搭建wordpress个人博客站,具有轻量级、易部署、易维护特点,便于后续数据迁移,避免数据丢失登问题!

1.2 作用

  1. 拥有一个自己专属、功能强大、美观的个人网站,人人都是博主、人人都是创作者,记录下每一刻。

二、wordpress相关

2.1 wordpress介绍

WordPress是一种广泛使用的开源内容管理系统(CMS),它提供了一个简单而强大的平台,用于创建和管理网站、博客和在线应用程序。

2.2 wordpress优势

  1. 非常成熟、操作简单、功能强大
  2. 插件非常多,可以实现各种各样的功能。如谷歌身份验证器、访问者统计等等。

三、搭建过程

3.1 安装docker环境

注意事项:此代码在debian系统可能会出问题,目前博主在用ubuntucurl -fsSL https://get.docker.com | sh && ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin

3.2 docker部署mysql环境

3.2.1 部署mysql

docker run -d \ -p 3306:3306 \ --privileged=true \ --name ibegmysql \ --restart=always \ -v /ibeg/ibegmysql:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=Ibeg@dewx \ mysql:latest--privileged=true: 表示容器将以特权模式运行,即容器内的进程将拥有宿主机的权限。CentOS系统下的安全Selinux禁止了一些安全权限,导致MySQL容器在运行时会因为权限不足而报错,所以需要增加该选项-e: 环境变量,设置镜像中MySQL的root 密码

3.2.2 创建需要的数据库

1、进入mysql容器docker exec -it ibegmysql /bin/bash2、在容器内登陆mysqlmysql -u root -p3、创建blog数据库createdatabase ibegblog DEFAULTCHARSET utf8 COLLATE utf8_general_ci;4、检查是否创建成功showdatabases;

3.3 docker部署wordpress

3.3.1 启动容器

docker run -d \ -p 542:80 \ --link ibegmysql \ --restart=always \ --name ibegwordpressblog \ -v /ibeg/ibegwordpress:/var/www/html \ wordpress:latest-d:该参数是docker run命令的一个选项,表示以"分离模式"(detached mode)运行容器。这意味着容器将在后台运行,并且不会占用当前终端的控制台。-p 542:80:该参数用于设置容器的端口映射。它将主机的端口542与容器的端口80进行映射。这意味着,通过访问主机的542端口,可以访问到容器内运行的服务(在此例中是WordPress)所使用的80端口。--link ibegmysql:该参数用于创建容器之间的链接(link)。它将容器ibegwordpressblog与命名为ibegmysql的另一个容器进行链接。这样,ibegwordpressblog容器可以通过该链接访问到ibegmysql容器,以便进行数据库等资源的交互。--restart=always:该参数用于设置容器的重启策略。always表示无论何时容器退出,Docker引擎都会自动重启容器。这样可以确保容器在发生意外退出或系统重启后能够自动恢复运行。--name ibegwordpressblog:该参数用于为容器指定一个名称,即ibegwordpressblog。通过该名称,可以方便地管理和操作容器,如停止、启动、查看日志等。-v /ibeg/ibegwordpress:/var/www/html:该参数用于设置容器内的数据卷挂载。它将主机上的/ibeg/ibegwordpress目录与容器内的/var/www/html目录进行挂载。这样可以将主机上的文件和目录与容器内部的目录进行共享,实现数据持久化和容器的可移植性。wordpress:latest:该参数指定了要运行的镜像名称和标签(tag)。在此例中,使用的是名为wordpress的镜像,并选择了最新的版本(latest)。

3.3.2 确认容器是否跑起来

docker ps

3.4 访问配配置网站

公网ip:端口

3.5 配置nginx反向代理

#全局块#user nobody;worker_processes auto; #worker_processes指的是开启的线程数,一般跟逻辑CPU核数一致#event块events {worker_connections1024; #定义每个进程的最大连接数,受系统进程的最大打开文件数量限制}#http块http {#http全局块include mime.types;default_type application/octet-stream; #核心模块指令,默认设置为二进制流sendfileon; #开启高效文件传输模式keepalive_timeout65; #keepalive_timeout设置客户端连接保存活动的超时时间#server虚拟主机块server {#server全局块listen80; #监听端口server_name www.ibeg.eu.org; #设置主机域名#charset koi8-r; #设置访问的语言编码#location块location / { #location设置虚拟主机的基本信息proxy_pass http://127.0.0.1:542;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }error_page500502503504 /50x.html;location = /50x.html {root html; } } #这个是server的大括号#这边可以有多个server块,监听多个端口,直接把上面的server复制下来即可}#这个是http的大括号

发表回复