Docker + Wordpress 搭建在线个人博客站点

2024-12-22

老婆和我说她想写点文字,于是我就用 Docker + Wordpress 帮她搭建了一个在线个人博客站点,本文记录一下过程。

一、安装 Docker

我的云服务器已经安装过 Docker,直接跳过这一步。

运行如下命令确认机器是否安装了 docker 和 docker-compose。

$ docker --version
$ docker-compose --version

二、创建项目

创建项目目录 wife-blog,在根目录下创建 docker-compose.yml 文件。

$ mkdir wife-blog && cd mife-blog
$ vi docker-compose.yml

编辑 docker-compose.yml 文件,内容如下:

services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: rootwordpress
      MYSQL_DATABASE: mywordpress
      MYSQL_USER: mywordpress
      MYSQL_PASSWORD: mywordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - "8080:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: mywordpress
      WORDPRESS_DB_PASSWORD: mywordpress
      WORDPRESS_DB_NAME: mywordpress
    volumes:
      - wordpress_data:/var/www/html

volumes:
  db_data:
  wordpress_data:

说明:

三、启动项目

在项目根目录下执行以下命令启动项目,-d 表示进入后台运行。

$ docker-compose up -d

启动成功后可以使用如下命令查看数据卷情况。

$ docker volume ls
DRIVER    VOLUME NAME
local     wordpress-docker_db_data
local     wordpress-docker_wordpress_data

数据卷存放路径通常为 /var/lib/docker/volumes,如果需要备份数据,可以进入该目录下找到对应的数据卷进行备份。

$ cd /var/lib/docker/volumes && ll
总用量 32
drwx-----x 3 root root   4096 12月 22 11:03 wordpress-docker_db_data
drwx-----x 3 root root   4096 12月 22 11:03 wordpress-docker_wordpress_data

容器内的 80 端口和本机的 8080 端口映射,在浏览器中输入 http://<服务器IP>:8080 访问 wordpress。

注意:使用阿里云或者腾讯云服务器时,8080端口默认是不对外开放访问权限的,前往云控制台在安全组配置中开放 8080 端口访问权限后才能访问。

到这一步,通过 http://ip:8080 访问网站,会看到 WordPress 的安装界面,按要求填写信息进行安装即可。

四、配置域名

如果有域名并且已经备案通过,可以配置域名。

使用 nginx 进行反向代理,编辑: /etc/nginx/conf.d/wordpress.conf 文件,配置中的域名需要更换为你自己的域名。

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

这一步结束可以通过 http://yourdomain.com 访问网站了。

五、配置 SSL 证书

配置 SSL 证书,使网站支持 https 访问。

# 安装 certbot 工具
$ yum install -y certbot python3-certbot-nginx  # CentOS
# 给你的域名配置 SSL 证书,按要求操作即可
$ certbot --nginx -d yourdomain.com

这一步结束后可以通过 https://yourdomain.com 访问网站了。

返回首页

本文总阅读量  次
总访问量: 
总访客量: